selenium-webdriver npm检测成功链接点击

时间:2015-04-27 11:30:42

标签: javascript node.js selenium selenium-webdriver

是否有一种可靠的方法可以使用selenium-webdriver npm检测成功的链接点击到未知页面?

我需要能够在我的网站上测试一个简单的页面加载,并检查到未知页面的出站链接是否正常加载。我正在工作的网站是一个假日出租网站,显示酒店自己页面的链接(因此目标链接的内容将完全未知),我找不到任何方法可靠地检查酒店网站是否加载使用硒。

这是我到目前为止的测试:

//1 load up the url
    driver.get( testConfig.url + '/britain/england/cornwall/hotel88').then(function(){
        //2 get current page html title
        var title = driver.findElement(By.css('title'));
        title.getInnerHtml().then(function(html) {
            var controlTestTitle = html;
            //3 now move onto the owners link
            driver.findElement(By.css('.details-web')).click().then(function(){
                driver.wait(function(){
                    return driver.isElementPresent(By.css("title"));
                }, testConfig.timeout).then(function(){
                    var title = driver.findElement(By.css('title'));
                    title.getInnerHtml().then(function(html) {
                        //check that this title is not the same
                        if( html != controlTestTitle ){
                            if (callback) {
                                callback(callback);
                            }
                        } else {
                            throw 'the page title did not change when moving onto the owners website';
                        }
                    });
                });
            });
        });
    });

上面的代码只是检查目标网页的html标题与原始标题不一样..但是当测试运行时,我看不到该酒店的网站实际加载所以我我不相信测试实际上是成功的。

我确实发现这个site trying来解释它,但是代码是java,我不知道..加上(正如你可以从这篇文章的性质中看出来的那样)我对selenium很新。 。

1 个答案:

答案 0 :(得分:0)

根据您的评论,以及您希望将硒用于此任务:

您可以做的是,在点击链接后会在页面上找到至少1个元素。

点击链接后,只需验证您找到的元素是否存在于页面上。如果没有,则表示页面未正确加载。