一尘不染

单击量角器端到端测试中隐藏元素的方法

angularjs

有没有一种方法可以单击子菜单中的隐藏值。我希望能够做类似的事情

driver.findElement(protractor.By.xpath('/html/body/div/div/a')).mouseover.then(function() {
    ptor.findElement(protractor.By.className('name').getText().then(function(result) {
        expect(result).toBe('Me');
    });
});

当菜单项不可见时,或者我们目前受限于此。如果这不可能,那么目前有解决此问题的方法。


阅读 137

收藏
2020-07-04

共1个答案

一尘不染

好吧,经过漫长而痛苦的搜索,试图找到这个问题的答案之后,我终于遇到了试图回答另一个问题的答案。

我找到的大多数文档都说明了我们必须以WebElement的形式使用Actions,然后将其强制转换为Javascript,并通过带有click
action的数组形式将其传递给script元素。

好吧,这里有相同的种类,但有一些修改。

describe('', function() {
    var ptor = protractor.getInstance();
    var driver = ptor.driver;

    it('', function() {
        var hiddenElement = driver.findElement(protractor.By.yourchosenlocator(''));
        driver.executeScript("arguments[0].click()", hiddenElement).then(function() {
            expect(whatever).toMatch(whatever);
        });
    }, 30000);
});

如您所见,没有使用webelement,也不需要强制转换。

2020-07-04