当前位置: 首页 > 面试题库 >

从量角器访问窗口对象/浏览器范围

林冥夜
2023-03-14
问题内容

我正在使用量角器进行测试,但是似乎无法访问JS“窗口”对象。我什至尝试在我的html文件中添加一个包含如下内容的标签

var a = window.location;

然后尝试Expect(a),但我无法使其正常工作,我总是会得到未定义的引用…

我应该如何处理访问浏览器范围内的变量?


问题答案:

假设您使用的是最新版本的量角器,假设> = 1.1.0,希望> = 1.3.1

尝试直接从Protractor访问浏览器端JS代码是行不通的,因为Protractor在NodeJS中运行,并且每个浏览器端的代码都是通过Selenium
JsonWireProtocol执行的。

没有进一步的细节,一个工作示例:

browser.get('https://angularjs.org/');

一线承诺,直到今天,决心 '1.3.0-rc.3'

browser.executeScript('return window.angular.version.full;');

鉴于量角器的期望为您解决了承诺,您可以在期望语句中直接使用它:

expect(browser.executeScript('return window.angular.version.full;')).
  toEqual('1.3.0-rc.3');

较长的示例在不expect解决对您的承诺的情况下传递了函数而不是字符串。即,为了获得更多控制权并为结果做一些花哨的事情。

browser.driver.executeScript(function() {
    return window.angular.version.full;
}).then(function(result) {
    console.log('NodeJS-side console log result: ' + result);
    //=> NodeJS-side console log result: 1.3.0-rc.3
});


 类似资料:
  • JavaScript可以获取浏览器提供的很多对象,并进行操作。 window window对象不但充当全局作用域,而且表示浏览器窗口。 window对象有innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高。 兼容性:IE<=8不支持。 'use strict'; ---- // 可以调整浏览器

  • 问题内容: 关于使用SQL Server 2008 R2,我有一个问题。 我最近在我的计算机上遇到问题,因此必须重新启动Windows,并且必须将一个用户的权限授予另一用户(使用属性中的安全功能)。最初授予权限时,它通过“访问被拒绝”消息。 经过大量研究,它停止产生此错误(我也需要授予权限的用户不可用),然后导致另一个问题发生,但这一次是在SQL Server中。它产生此消息; 数据库[dbNam

  • 我知道这个问题以前已经讨论过,但我觉得我的问题有点不同。 我正在试图弄清楚如何使我能够通过自我管理的AWS弹性搜索访问吉巴纳,我有在我的AWS帐户。 可能是我要说的是不准确的或者完全是一派胡言。我对整个AWS VPC wise部分和麋鹿卡死相当新手。 体系结构:这里是“体系结构”: 我有一个VPC。 在VPC内I有几个子网。 每个服务器使用在服务器本身上运行的日志存储将其数据发送到弹性搜索。为了简

  • 问题内容: 最近,我在新的gmail和HTML5 bing预览中看到了一个有趣的新功能,该功能可在滚动时将导航栏固定在浏览器窗口的顶部。该栏可能从页面向下100px开始,但是当您滚动并到达浏览器窗口顶部时,它会固定在那里,直到您向上滚动到其最初位置为​​止。 我的问题是;我该怎么做或做类似的事情? 希望您能理解我的问题以及我要描述的内容。 问题答案: 如果您希望元素在页面上进一步向下移动,然后在向

  • 我想为我的浏览器扩展写一个验收测试。我尝试通过selenium启动扩展,但似乎无法访问Popup的内容。有人能建议我如何用selenium或任何其他方法来为浏览器扩展编写UI/验收测试吗?多谢了。

  • 我想用量角器和BrowserStack运行测试。我跟踪了这个帖子,我背后的一个代理。我已安装browserstack local,并使用以下命令运行它: 一切似乎都起作用了,因为我有这样的信息: 谢谢