我的第一堂课是“登录” 我的第二堂课是'checkout'
要运行第2类(签出),我必须首先登录(第1类),因此我的第2类依赖于第1类。但是当我运行以下代码时,显示空白的chrome屏幕: Chrome browser
chrome驱动程序不会转到我提供的URL,它只是停留在空白屏幕上。 我的班级1是登录班级,要进行结帐,我需要先登录,以便在执行该操作时不起作用。
请让我知道我在这里犯了什么错误?
第1类代码:
package testcases;
public class Login{
static WebDriver driver= new ChromeDriver();
@BeforeClass
public void init() {
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.get("URL");
}
@Test
public static void testcase1()
{
driver.findElement(By.xpath(".//*[@id='email']")).click();
driver.findElement(By.xpath(".//*[@id='email']")).sendKeys("testid@g.com");
driver.findElement(By.xpath(".//*[@id='password']")).click();
driver.findElement(By.xpath(".//*[@id='password']")).sendKeys("3222"); driver.findElement(By.xpath("/html/body/div[4]/div/form/div[3]/div[2]/button")).click();
}
第2类代码:
public class checkout {
static WebDriver driver= new ChromeDriver();
@BeforeClass
public void init() {
driver.manage().window().maximize();
driver.get("URL");
}
@Test(dependsOnMethods={"com.test.Login.testcase1"})
public void checkout() throws InterruptedException{
System.out.println("test");
driver.quit(); }}
testng.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none" preserve-order="true">
<test name="Test">
<classes>
<class name="com.test.Login"/>
<class name="com.test.checkout"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
错误: Errors
答案 0 :(得分:0)
可以将Chrome驱动程序和Chrome浏览器更新为最新版本,然后重试并确认 Chrome browser launches with blank page in Selenium webdriver
答案 1 :(得分:0)
我不确定您是否遵循Page Object模型。
您需要进行相应的更改:
testcase1()
,并通过引入checkout()
概念使dependsOnGroups
方法依赖于组。 在这里您可以遵循以下代码:
Login.java
public class Login {
static WebDriver driver;
@BeforeClass
public void init() {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\user***\\Downloads\\chromedriver_win32\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.get("https://www.google.com/");
}
@Test(groups={"Login.testcase1"})
public static void testcase1()
{
driver.findElement(By.xpath(".//*[@id='email']")).click();
driver.findElement(By.xpath(".//*[@id='email']")).sendKeys("testid@g.com");
driver.findElement(By.xpath(".//*[@id='password']")).click();
driver.findElement(By.xpath(".//*[@id='password']")).sendKeys("3222");
driver.findElement(By.xpath("/html/body/div[4]/div/form/div[3]/div[2]/button")).click();
getCheckoutPage(driver);
}
public static CheckOut getCheckoutPage(WebDriver driver) {
return new CheckOut(driver);
}
}
Checkout.java
public class CheckOut {
private WebDriver driver;
public CheckOut(WebDriver driver) {
this.driver = driver;
}
@Test(dependsOnGroups={"Login.testcase1"})
public void checkout() throws InterruptedException{
System.out.println("test");
driver.quit(); }
}