0

正如我们在 serenity bdd (cucumber) 中所知道的,webdriver 是通过使用PageObjectclass 启动的。

public class OpenPage extends PageObject {

    OpenPage(WebDriver driver){
           super(driver);
        }

        public void open_page() {
          getDriver().navigate().to("https://www.google.com/");
        }
}

在 serenity.properties 中包含以下属性:

webdriver.chrome.driver = chromedriver  
webdriver.driver = chrome

代码的问题是这没有打开 chrome 浏览器。

4

1 回答 1

0

如果 chrome 打不开,一般是 chrome 或 chromedriver 的兼容性问题。如果 chromedriver 在系统路径上,则无需显式声明 webdriver.chrome.driver 属性。否则,它应该是项目中驱动程序的相对路径(绝不是硬编码的绝对路径)。

顺便说一句,您的页面对象可以简化为:

@DefaultUrl("https://www.google.com/")
public class OpenPage extends PageObject {}

(使用 Serenity 时几乎不需要调用 getDriver())。

于 2018-09-05T10:54:14.440 回答