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

标签 javascript node.js selenium selenium-webdriver

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

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

这是我迄今为止得到的测试:

//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非常陌生...

最佳答案

根据您的评论,以及您希望使用 Selenium 来完成此任务:

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

单击链接后,只需验证您找到的一个元素是否存在于页面上。如果没有,则意味着页面未正确加载。

关于javascript - selenium-webdriver npm 检测成功链接点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29894519/

相关文章:

python - 陈旧;元素不再附加到 DOM,不在当前框架上下文中,或者文档已刷新

java - TestNG.xml - 第一个浏览器 session 关闭后,新的浏览器 session 不会打开

javascript - Node 中的依赖注入(inject)和接口(interface)

arrays - 如何在 MongoDB 的数组中查找所有内容

javascript - Node.js httpserver.listen 方法歧义

node.js - Mongoose :如何在不填充第一级字段的情况下填充 2 级深度人口?在 mongodb 中

javascript - 如何在 Ruby 编写的 Webdriver 测试中执行 JavaScript?

javascript - 如何创建折扣计算功能?

javascript - Sequelize.js如何按多列划分的结果进行排序?

javascript - 使用 javascript 和 d3.js 每行打印 x 个元素