相关疑难解决方法(0)

如何在量角器中发送键盘键,如TAB

我需要选择一个元素,向其发送值,按Tab键然后发送新值.

我可以选择元素并向其发送值,但是无法从键盘发送TAB然后发送新值.

我首先使用了ptor,但后来它已经过时了,我现在正试图通过使用browser.key来做同样的事情,但它不适用于我.

请帮忙 !

protractor

10
推荐指数
1
解决办法
2万
查看次数

断言元素是重点

根据我如何断言元素是集中的?线程,您可以通过切换到a来检查元素是否被聚焦activeElement()并断言这与您期望获得焦点的元素相同:

expect(page.element.getAttribute('id')).toEqual(browser.driver.switchTo().activeElement().getAttribute('id'));
Run Code Online (Sandbox Code Playgroud)

在我的例子中,当前关注的元素没有id属性.

我应该怎么做而不是检查id

额外的问题:另外,正如你从我试图解决它看到的那样,看起来我不能指望/断言一个元素(或web元素)作为一个完整的对象.为什么?


我试过了:

expect(page.element).toEqual(browser.driver.switchTo().activeElement());
Run Code Online (Sandbox Code Playgroud)

但是失败的是我甚至无法理解的错误 - 有一个巨大的追溯(在控制台中滚动约10分钟),但内部没有用户友好的错误.

我也试过用getWebElement():

expect(page.element.getWebElement()).toEqual(browser.driver.switchTo().activeElement());
Run Code Online (Sandbox Code Playgroud)

但是这导致了以下错误:

错误:期望使用WebElement参数调用,期望是Promise.你的意思是使用.getText()吗?

使用最新的量角器开发版本.

javascript testing end-to-end angularjs protractor

10
推荐指数
1
解决办法
4140
查看次数

JavaScript量角器(Selenium)验证输入是否集中

我正在尝试测量元素是否在量角器中使用selenium webdriver进行聚焦.这是在AngularJS加载之前,所以我必须使用驱动程序,如下所示:

var ptor = protractor.getInstance(),
    driver = ptor.driver;
Run Code Online (Sandbox Code Playgroud)

我还需要知道如何使测试等到输入被聚焦.我必须等到一个模型被触发,所以输入没有聚焦半秒,如下所示:

window.setTimeout(function(){
  $("input#email").focus();
}, 500);
Run Code Online (Sandbox Code Playgroud)

知道如何在500ms后验证输入是否有焦点?

selenium protractor

4
推荐指数
1
解决办法
5602
查看次数