Selenium WebdriverIO执行命令失败

时间:2017-07-12 10:23:21

标签: javascript selenium automated-tests webdriver-io

我正在使用Javascript创建一系列Javascript自动化测试  / Selenium / WebdriverIO。我在使用WebdriverIO的'execute'命令时遇到了严重问题。正在使用命令'execute',因为一个基本问题是不在窗口的可见区域内的元素不可点击,使得自动化无用,因为它每次都失败。为了克服这个可视区域问题,我在调用'click'命令之前使用'execute'来'scrollIntoView'任何麻烦的元素。在简单的情况下,这很好。除非通过从PageA导航到PageB的单击分隔,否则多个顺序执行命令可以工作。此导航似乎打破了执行流程。我的想法是执行Javascript可能被注入到当前页面中,因此导航会使脚本失效。我真的不确定!

还有其他人有这样的问题吗?如果是这样,请帮助,它让我疯了!

此代码有效:

module.exports = {
    runMacro: function(){
        browser
            .execute(function() {
                var els = document.getElementsByClassName('img-cnt');
                els[0].scrollIntoView();
            })
            .pause(3000) // for testing purposes
            .execute(function() {
                // this code executes
            })
    }
};

此代码不起作用:

module.exports = {
    runMacro: function(){
        browser
            .execute(function() {
                var els = document.getElementsByClassName('img-cnt');
                els[0].scrollIntoView();
            })
            .click('.img-cnt')
            .pause(3000) // for testing purposes - in real test would for waitForExists or similar
            .execute(function() {
                 // this code doesn't execute
            })
    }
};

感谢!!!!

0 个答案:

没有答案