Selenium WebDriverJs命令

时间:2013-03-19 17:08:44

标签: selenium webdriver selenium-webdriver

我第一次运行Node.js + Mocha + Selenium Webdriverjs的组合。我根据他们在https://code.google.com/p/selenium/wiki/WebDriverJs的文档设置了所有内容,但我发现很难找到通过Web驱动程序提供的所有命令的列表。是否有使用Selenium webdriverjs编写测试时可以使用的命令列表?

例如,如何使用Javascript

实现以下java代码
new Wait("Couldn't find close button!") {
  boolean until() {
    return selenium.isElementPresent("button_Close");
  }
};

我知道我可以使用driver.wait,但它无法识别until命令或isElementPresent

3 个答案:

答案 0 :(得分:8)

我直接在这里查看docs的源文件。它实际上非常好:

https://code.google.com/p/selenium/source/browse/javascript/webdriver/webdriver.js

在回答你的问题时,你真的不想在WebDriverJS中等待,你想要习惯延迟的对象并承诺api。我刚刚写了一篇关于它的博客文章,应该可以帮到你:

http://xolv.io/blog/2013/04/end-to-end-testing-for-web-apps-meteor

答案 1 :(得分:0)

我也在查看源代码。他们有一个API文档的编译版本,这里更容易扫描:

http://selenium.googlecode.com/git/docs/api/javascript/module_selenium-webdriver.html

不幸的是,只有方法名称没有摘要。你仍然需要滚动页面。

就如何等待而言:

webdriver = require 'selenium-webdriver'
driver = ... // init your driver

driver.wait(webdriver.until...)

答案 2 :(得分:0)

@op,你最好使用链式语句。我使用until和isElementPresent命令,它们适用于生产就绪(CI / CD)列车流程。 因此调整代码应该可以正常工作

var isDisplayed = function(){
        driver.isElementPresent(by.id('button id')).then(function(isDisplayed){
            expect(isDisplayed).to.be.true
        });
    };