繁体   English   中英

使用通用类对Java进行Selenium自动化测试

[英]using general class for Selenium automation test with java

我真的是Selenium和Java自动化测试的新手,我想创建一个General类来存储将在其他类中使用的方法,例如Login,单击按钮...在其他类中,我将测试打开的页面,输入用户名,密码,然后单击某些元素。 我的代码如下:GeneralMethods:

public class GeneralMethods {

String baseURL;
String chromepath =".../Webdriver/chromedriverv2.36";

public WebDriver driver;

@BeforeTest
public void openBrowser() {
    System.setProperty("webdriver.chrome.driver", chromepath);
    driver = new ChromeDriver();
    driver.get(baseURL);

}
public void loginAccount(String username, String password) {

}
public void clickOnElement() {
    //TODO: click on web element which other class will call 
}
public void closeBrowser() {
    driver.quit();
}
public void refreshBrowser() {
    driver.findElement(By.xpath("//body")).sendKeys(Keys.F5);
}

该类登录并在此处单击一些元素:

public class LoginUser extends GeneralMethods {

String baseURL = "mydomain";
String username = "myusername123@gmail.com";
String userpassword = "mypassword123";

@BeforeTest
public void openBrowser() {
    driver.get(baseURL);
}
@Test
public void loginEmployer() {
    //TODO: Login an user with username and password 
}

@Test 
public void clickOnButton() {
    //TODO: click on a button with Xpath 
}

}

请帮助我纠正代码,并建议我如何研究是否存在任何问题。

建议

  1. 您的所有实用程序(例如loginAccount,ClickOnElement,refreshBrowser)都应位于GeneralMethods类中。

  2. 您可以从GeneralMethods类扩展您的Test类。 (就像您已经完成的一样。)

  3. 您的Utility类不需要包含任何TestNG批注。

  4. 测试方法 @Test public void clickOnButton(){}

在您的LoginUser中不能将其作为测试方法,因为单击按钮只是与WebElement的交互。

  1. 对于您的代码:public void refreshBrowser (){driver.findElement(By.xpath(“ // body”))。sendKeys(Keys.F5); }

使用以下代码: driver.navigate()。refresh();

  1. GeneralMethods类中的String baseURL实例字段未初始化,运行代码时可能会遇到运行时异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM