我正在尝试实施以下测试方案:
问题在于,在新浏览器窗口中打开的页面 是非角度页面, 而我正在执行单击操作的 主页 是 角度页面 。
这是我的第一次尝试:
it("should show logo", function () {
var logo = scope.page.logo;
expect(logo.isDisplayed()).toEqual(true);
// opens a new page on click
logo.click().then(function () {
browser.getAllWindowHandles().then(function (handles) {
browser.switchTo().window(handles[1]).then(function () {
expect(browser.getCurrentUrl()).toEqual('http://myurl.com/');
});
// switch back to the main window
browser.switchTo().window(handles[0]);
});
});
});
失败与:
错误:等待量角器与页面同步时出错:“在窗口中找不到角度”
这是可以理解的。
我的第二次尝试是使用ignoreSynchronization
布尔标志:
browser.ignoreSynchronization = true;
logo.click().then(function () {
browser.getAllWindowHandles().then(function (handles) {
browser.switchTo().window(handles[1]).then(function () {
expect(browser.getCurrentUrl()).toEqual('http://myurl.com/');
});
// switch back to the main window
browser.switchTo().window(handles[0]);
});
实际上,这使该特定测试通过而没有任何错误,但是它影响此操作之后执行的每个测试,因为它browser
是一个全局对象,并且在测试之间共享-
量角器不再与页面上的角度同步,从而导致各种错误。
我应该如何进行测试?
解决方法是,我可以毫无问题地将restartBrowserBetweenTests
设置更改为,true
并更改ignoreSynchronization
值-但这会大大降低测试速度。
ignoreSynchronization
验证完成后,您可以将其设置为false。但是,请注意,ignoreSynchronization是同步的,而其他所有东西(click
/ get /
etc)都是异步的,因此您需要注意这一点。可能最安全的方法是在beforeEach中将其设置为true,在afterEach中将其设置为false,然后在该测试中测试单个徽标单击。
问题内容: 角度1.2: 我的功能状态不正确? 单击后,我想要状态。 问题答案: 和的执行顺序不明确,因为它们没有定义明确的优先级。相反,你应该使用或上,以确保您获得的正确值 模型 变量。 在您的情况下,这应该可以工作:
问题内容: 我有一个Java 7程序(使用WebStart技术,仅适用于Windows 7/8计算机)。 我需要添加一个函数,以便我的程序单击具有已知URL(https)的页面上的按钮。 有人建议使用WebKit SWT,但我去了他们的网站,他们说该项目已终止。(http://www.genuitec.com/about/labs.html) 其他人说,JxBrowser是唯一的选择,但是看起来它
问题内容: 我在Angular UI Grid中有一个项目列表。当我单击一行时,我想转到另一个页面。(换句话说,网格中的每一行都是一个链接。) 我想这肯定是一个非常普遍的愿望,尽管我还没有真正看到过有关如何实现的文档。什么是完成此任务的好方法? 问题答案: 我自己想出了答案。这是我的控制器(ES6): 这是我的行模板(Jade): 另外,这是我的样式表(SCSS)。我认为突出显示光标下的行并使用光
问题内容: 我有两个(或更多)链接。例如:http : //google.com和http://yahoo.com。 当我单击单个链接时,如何使它们 都 打开? 例如,一个名为“单击此处”的链接,单击该链接将打开两个不同的空白窗口。 问题答案: HTML: JS: 您还应该知道window.open有时会被弹出窗口阻止程序和/或广告过滤器阻止。 Paul的补充:这种方法还依赖于启用JavaScri
我有两个角材料图标在一个组件,每一个菜单-例如菜单1和菜单2。当我单击menu1图标时,它将打开menu1列表。然后,当我单击menu2图标时,我需要关闭menu1列表并打开menu2。但现在我需要做两次点击来做这个activity。第一次单击关闭menu1,第二次单击打开Menu2。如何使用实现第二个菜单的一键打开? 菜单1 html 菜单2 html 例示有角材料样品。我的问题是如何打开和关闭
我想我的问题以前已经回答过很多次了,但是我找不到确切的我的案例。 我有一个垂直菜单和子菜单,我想显示子菜单,只有当父菜单被点击(不是悬停),一次只显示一个子菜单,在点击菜单的某个地方后,我想要子菜单消失。 这就是我现在得到的--它基于现在的悬停。我试着把a:hover改成类似a:active的东西,但它并不能很好地工作(我在CSS方面不是很好)。 有谁知道吗?