【发布时间】:2020-08-13 09:16:59
【问题描述】:
package hrmInfoModule;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.interactions.Actions; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test;
public class Hrmlogin {
public WebDriver driver;
@BeforeTest
public void openbrowser()
{
System.setProperty("webdriver.chrome.driver", "D:\\Software\\chromedriver.exe");
driver = new ChromeDriver ();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
@Test
public void login() throws InterruptedException
{
String Url="https://opensource-demo.orangehrmlive.com/";
String ID ="Admin";
String Pswrd="admin123";
driver.get(Url);
WebElement login = driver.findElement(By.id("txtUsername"));
login.sendKeys(ID);
WebElement paswrd = driver.findElement(By.id("txtPassword"));
paswrd.sendKeys(Pswrd);
WebElement btn = driver.findElement(By.id("btnLogin"));
btn.click();
Thread.sleep(2000);
}
@Test
public WebElement Admin() throws InterruptedException
{
Thread.sleep(2000);
WebElement Admin = driver.findElement(By.xpath(("//*[@id='menu_admin_viewAdminModule']")));
return Admin;
}
@Test
public WebElement JobTitle(WebElement Admin) throws InterruptedException
{
Thread.sleep(2000);
WebElement job = driver.findElement(By.xpath("//*[@id='menu_admin_viewAdminModule']//following-sibling::ul/li[2]/a"));
WebElement jobtitles = driver.findElement(By.xpath("//*[@id='menu_admin_viewAdminModule']//following-sibling::ul/li[2]/ul/li[1]/a"));
Actions act= new Actions(driver);
Thread.sleep(2000);
act.moveToElement(Admin).moveToElement(job).moveToElement(jobtitles).click().build().perform();
WebElement AddBtn= driver.findElement(By.xpath(("//input[@value='Add']")));
Thread.sleep(2000);
AddBtn.click();
driver.findElement(By.xpath(("//*[@id='jobTitle_jobTitle']"))).sendKeys("Manager");
driver.findElement(By.xpath(("//*[@id='jobTitle_jobDescription']"))).sendKeys("zxc");
driver.findElement(By.xpath(("//*[@id='jobTitle_note']"))).sendKeys("jobTitle_note");
WebElement SaveBtn= driver.findElement(By.xpath(("//input[@value='Save']")));
Thread.sleep(2000);
SaveBtn.click();
return job;
}
@Test
public void PayGrade(WebElement job) throws InterruptedException
{
//WebElement job = driver.findElement(By.xpath("//*[@id='menu_admin_viewAdminModule']//following-sibling::ul/li[2]/a"));
WebElement payGrade = driver.findElement(By.xpath("//*[@id='menu_admin_viewAdminModule']//following-sibling::ul/li[2]/ul/li[2]/a"));
Actions act= new Actions(driver);
act.moveToElement(job).moveToElement(payGrade).click().build().perform();
WebElement AddPayBtn= driver.findElement(By.xpath(("//input[@value='Add']")));
Thread.sleep(2000);
AddPayBtn.click();
driver.findElement(By.xpath(("//*[@id='payGrade_name']"))).sendKeys("INR");
WebElement SavePayBtn= driver.findElement(By.xpath(("//input[@value='Save']")));
Thread.sleep(2000);
SavePayBtn.click();
}
@AfterTest
public void teardown()
{
driver.quit();
} }
在上面的代码中,TestNG 只通过了一个名为 Login() 的测试。谁能告诉我为什么会这样? 如何改进此代码并运行一系列测试。
【问题讨论】:
-
因为你在
login()测试中打开了url。在@AfterTest方法中浏览器被关闭。浏览器在Admin()测试之前启动,但 URL 从未打开 -
所以.. abhishek agarwal 可以通过简单地关闭 login() 测试来测试您是否正确 Fenio?
标签: java selenium selenium-webdriver testng