gpt4 book ai didi

javascript - getTitle() 在 Selenium Webdriver 上给出奇怪的结果

转载 作者:行者123 更新时间:2023-11-28 19:04:09 26 4
gpt4 key购买 nike

我正在 selenium-webdriver 中结合 Phantomjs 环境运行自动化测试脚本。

我正在尝试通过 node.js 运行我的脚本(不使用 Python 或 C#)

以下是我设置环境的步骤:

  1. 安装 selenium webdriver:

    C:\xampp\htdocs\testPhantomJS\>npm install selenium-webdriver

  2. 安装 phantomJS

    将 phantomjs 脚本放在以下位置:C:\xampp\htdocs\testPhantomJS\node_modules\selenium-webdriver:

    enter image description here

  3. 运行独立的 selenium 服务器:

    enter image description here

这是我在下面运行的测试脚本 [login-as-administrator.js]:

var webdriver = require('selenium-webdriver');
var By = require('selenium-webdriver').By;
var until = require('selenium-webdriver').until;
var equals = require('selenium-webdriver').equals;
var driver = new webdriver.Builder()
.withCapabilities(webdriver.Capabilities.phantomjs())
.build();
var baseUrl = 'http://saswatr3.ouh.co/login';
var expectedTitle = " Track Revenue ";

driver.get(baseUrl);
var actualTitle = driver.getTitle();
console.log(actualTitle);
if(expectedTitle === actualTitle)
{
console.log("Verification Successful - The correct title is displayed on the web page.");
}
else
{
console.log("Verification Failed - An incorrect title is displayed on the web page.");
}
driver.manage().window().maximize();
driver.findElement(By.id('username')).sendKeys('saswat@matrixnmedia.com');
driver.findElement(By.id('password')).sendKeys('DarkPrince2012');
driver.findElement(By.id('_submit')).click();
driver.wait(until.titleIs('Track Revenue'), 1000);
driver.quit();

我通过node.js运行上面的脚本

C:\xampp\htdocs\testPhantomJS\node_modules\selenium-webdriver > Node 登录为管理员.js

当我运行此脚本时,我收到如下报告:

enter image description here

如您所见,将 actualTitle 放入日志时,我得到了奇怪的结果。

我不明白为什么会出现如此奇怪的报告。我错过了什么吗?

最佳答案

getTitle 安排一个稍后由 WebDriverJS 框架执行的命令(在您的情况下,当加载页面时)。它返回一个 promise ,而不是标题。

试试这个:

driver.getTitle().then(function(title) {

if(expectedTitle === title){
console.log("Verification Successful - The correct title is displayed on the web page.");
}
else{
console.log("Verification Failed - An incorrect title is displayed on the web page.");
}
});

而不是:

var actualTitle = driver.getTitle();
console.log(actualTitle);
if(expectedTitle === actualTitle)
{
console.log("Verification Successful - The correct title is displayed on the web page.");
}
else
{
console.log("Verification Failed - An incorrect title is displayed on the web page.");
}

此外,删除预期标题的多余空格,例如:

var expectedTitle = "Track Revenue";

关于javascript - getTitle() 在 Selenium Webdriver 上给出奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32008380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com