, так как я экспериментирую с TestNG, используя курс UDEMY, мне нужно уточнить часть зависимости.Ниже у меня есть метод, который будет входить в Gmail под названием gmailLogin ().У меня есть отдельный метод поиска темы в окне поиска Gmail (после входа в систему), называемый gmailSearch ().
Чтобы выполнить поиск, вам необходимо войти в свою учетную запись Gmail.Я сделал 2 вещи, чтобы поэкспериментировать
1) Предоставил неверную информацию в gmailLogin ().Это не удастся.2) Я не использовал зависящий от nmethods = "gmailLogin" в gmailSearch ().
Проверка gmailSearch () не завершается сбоем, поскольку он использует поиск по главной странице Google из @BeforeMethod.В поиске на главной странице Google также используется name = 'q'.
Вопрос: Какой хороший способ разработать метод gmailSearch (), чтобы он принудительно использовал gmailLogin ()?Если текущий процесс плохой, тогда я должен объединить логин и поиск одним методом?
Заранее благодарим за то, что нашли время объяснить / ответить.
public class GoogleTest {
static WebDriver driver;
@BeforeMethod
public void setUp(){
System.setProperty("webdriver.chrome.driver", "path");
driver=new ChromeDriver();
driver.get("http://www.google.com");
driver.manage().window().maximize();
}
@Test(priority=1)
public void googleSearch(){
driver.findElement(By.xpath("//input[@name='q']")).sendKeys("news");
driver.findElement(By.xpath("//input[@value='Google Search']")).click();
if(driver.getPageSource().contains("www.foxnews.com")){
System.out.print("Search found");
}
}
@Test(priority=2,groups="Gmail")
public void gmailIcon(){
driver.findElement(By.xpath("//a[@href='https://mail.google.com/mail/?tab=wm']")).click();
if(driver.getTitle().contains("Gmail")){
System.out.print("Gmail found");
}
}
@Test(priority=2,groups="Gmail")
public void gmailLogin(){
WebDriverWait wait = new WebDriverWait(driver,30);
driver.get("https://accounts.google.com/signin/v2/identifier?continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin");
driver.findElement(By.xpath("//input[@type='email']")).sendKeys("aname@gmail.com");
driver.findElement(By.xpath("//span[contains(text(),'Next')]")).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@type='password']")));
driver.findElement(By.xpath("//input[@type='password']")).sendKeys("psd123");
driver.findElement(By.xpath("//span[contains(text(),'Next')]")).click();
if(driver.getTitle().contains("Inbox")){
System.out.print("Gmail Inbox");
}
}
@Test(groups="Gmail")
public void gmailSearch(){
driver.findElement(By.xpath("//input[@name='q']")).sendKeys("QA"+ "\n");
if(driver.getTitle().contains("Search Results")){
System.out.print("Gmail Search");
}
}
@AfterMethod
public void testDown(){
driver.quit();
}
}