我正在使用剛開始的頁面物件模型,我創建了 2 個包,一個是 com.automation.pages,另一個是 com.automation.testcases。在這兩個包中,我為登錄頁面創建了一個類,它作業正常,我正在共享下面的代碼。
package com.automation.pages;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
public class LoginPage {
WebDriver driver;
public LoginPage(WebDriver ldriver)
{
this.driver=ldriver;
}
@FindBy (xpath="//input[@name='email'] ") WebElement email;
@FindBy (xpath="//input[@name='password']") WebElement password;
@FindBy (xpath="//body/div[2]/div[2]/div[2]/form[1]/div[3]/div[2]/button[1]") WebElement loginbutton;
public void logintoLabaiik(String email1, String password1 )
{
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
email.sendKeys(email1);
password.sendKeys(password1);
loginbutton.click();
}
}
我在新頁面上作業時面臨的問題是,當我創建驅動程式時,當我使用 ldriver 時,它也會給我一個錯誤,當我替換“l”時它仍然給我這個錯誤。請解決我的問題。
package com.automation.pages;
import org.openqa.selenium.WebDriver;
public class TaxSetup {
WebDriver driver;
public TaxSetup(WebDriver driver)
{
this.driver.ldriver;
}
}
uj5u.com熱心網友回復:
看來您的TaxSetup建構式有問題。
這應該有效。
public TaxSetup(WebDriver driver){
this.driver=driver;
}
看看如何創建 2 個頁面物件類并在測驗中使用它們:
登錄頁面
public class LoginPage {
final WebDriver driver;
public LoginPage(WebDriver driver){
this.driver=driver;
}
// page implementation
}
稅務設定
public class TaxSetup {
final WebDriver driver;
public TaxSetup(WebDriver driver){
this.driver=driver;
}
// page implementation
}
如何在測驗中使用
public class SomeTest {
WebDriver driver;
LoginPage loginPage;
TaxSetup taxSetupPage;
@BeforeClass
public void initDriverAndPages() {
driver = ... // e.g. new ChromeDriver()
loginPage = PageFactory.initElements(driver, LoginPage.class);
taxSetupPage = PageFactory.initElements(driver, TaxSetup.class);
}
@Test
public void someTest() {
// implement test using loginPage, taxSetupPage as you like
}
@AfterClass
public void quitDriver() {
driver.quit();
}
}
uj5u.com熱心網友回復:
請在您的TaxSetUp建構式中更正以下行。
this.driver.ldriver;
這應該是
this.driver = driver;
是的,您必須傳遞WebDriver作為應用程式的一部分創建的所有頁面類的實體,否則它們會將默認值分配給驅動程式,即null.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/409793.html
標籤:
上一篇:如何按下帶有父類名稱的按鈕?
下一篇:無法在pytest中運行測驗用例
