【发布时间】:2021-07-09 09:46:35
【问题描述】:
我编写了两个功能文件,每个功能文件都打开不同的浏览器 URL,例如一个是打开 google.com,第二个是打开 amazon.com,但事实并非如此。
两种浏览器都打开了 google.com。此外,它不能与浏览器交互,任何编码到浏览器的操作都不会被执行。除此之外,关闭第一个浏览器会导致第二个浏览器出现空指针异常。
Cucumber 版本 6 我从 AbstractCucumberTesNG 继承开始。然后我创建 Login.Feature 并跟随 AddProduct.Feature。
预期的行为应该是一个浏览器打开 phptravels.net 网站,另一个浏览器打开 http://sellerceter.lazada.my。
我目前的情况并非如此,它使用 phptravels.net 打开两个浏览器,在关闭一个浏览器后打开了 Seller.lazada 网站。
public class AddProduct {
private WebDriverWait timeWait;
private AddProductPageObject page;
private ChromeDriver driver;
private Logger log = LogManager.getLogger(AddProduct.class);
// ======================================================================
public AddProduct() {
}
@Given("navigate to manage product")
public void navigateToManageProduct() {
log.info("Start Login");
try {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
this.timeWait = new WebDriverWait(driver, 30);
page = PageFactory.initElements(driver, AddProductPageObject.class);
driver.navigate().to("https://sellercenter.lazada.com.my/apps/seller/login");
timeWait.until(ExpectedConditions.visibilityOfElementLocated(page.getLazadaSellerLogo()));
// Input username
driver.findElement(page.getUsername()).click();
driver.findElement(page.getUsername()).clear();
driver.findElement(page.getUsername()).sendKeys("nicholaswkc34@gmail.com");
// Input password
driver.findElement(page.getPassword()).click();
driver.findElement(page.getPassword()).clear();
driver.findElement(page.getPassword()).sendKeys("wlx_+279295");
// Click submit btn
driver.findElement(page.getSignInButton()).click();
//assertThat(page.getPageTitle())
Wait wait = new Wait();
wait.implicitWait(driver, 5);
} catch (Exception e) {
log.error(e);
}
}
}
公共类 Login_FE {
private WebDriverWait timeWait;
private LoginPageObject page;
private ChromeDriver driver;
private Logger log = LogManager.getLogger(Login_FE.class);
// ======================================================================
public Login_FE() {
}
@Given("Launch the homepage and login")
public void launchTheHomepageAndLogin() {
log.info("Start Login");
try {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
timeWait = new WebDriverWait(driver, 30);
// Instantiate LoginPageObject
page = PageFactory.initElements(driver, LoginPageObject.class);
log.info("Navigate to phptravels homepage");
driver.navigate().to("https://www.phptravels.net/admin");
timeWait.until(ExpectedConditions.visibilityOfElementLocated(page.getPhpLogo()));
Actions inputAct = new Actions(driver);
inputAct.sendKeys("admin@phptravels.com").perform();
driver.findElement(page.getUsername()).sendKeys("admin@phptravels.com");
Wait wait = new Wait();
wait.implicitWait(driver, 3);
}catch(Exception e) {
log.error(e);
}
log.info("Login Successfully");
}
}
【问题讨论】:
标签: java maven cucumber cucumber-jvm