Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法使用量角器从下拉菜单E2E测试中选择元素_Node.js_Jasmine_Protractor_Angularjs E2e_E2e Testing - Fatal编程技术网

Node.js 无法使用量角器从下拉菜单E2E测试中选择元素

Node.js 无法使用量角器从下拉菜单E2E测试中选择元素,node.js,jasmine,protractor,angularjs-e2e,e2e-testing,Node.js,Jasmine,Protractor,Angularjs E2e,E2e Testing,有很多方法可以做到这一点,我已经尝试了很多方法,但在进行自动测试时,我无法从下拉菜单中选择项目 选择是出现在下拉菜单中的默认选项,我希望自动测试选择其中一个元素,不管是哪一个 这是HTML代码 选择 五万 10万 25万 500K 你肯定是个怪人。如果可能的话,我通常只需单击文本选项。你应该能做这样的事 var selectOptionByText = function(text) { return element(by.cssContainingText('option', text

有很多方法可以做到这一点,我已经尝试了很多方法,但在进行自动测试时,我无法从下拉菜单中选择项目

选择是出现在下拉菜单中的默认选项,我希望自动测试选择其中一个元素,不管是哪一个

这是HTML代码

选择 五万 10万 25万 500K
你肯定是个怪人。如果可能的话,我通常只需单击文本选项。你应该能做这样的事

var selectOptionByText = function(text) {
    return element(by.cssContainingText('option', text)).click();
};

单击//选择[@ng model='user.investmentAmount']usng xpath后,
放置一些类似browser.sleep2000的等待,然后使用//选项[text='100K']单击。

这是因为您只选择了一个包含'Select'值和预期数组的选项

尝试下面的方法,首先按型号获取选择框,然后按型号获取所有选项 数组中的html标记名


感谢您的回复,我最终在同一页上找到了一个不同的下拉菜单,使用:elementby.model'user.sourceOfFunds'.sendKeys'Savings';上面这行代码对我来说很好,但是当我尝试elementby.model'user.investmentAmount'.sendKeys'50-100'时;或者elementby.model'user.investmentAmount'.sendKeys'100k';我发现元素不可见。不知道为什么一个有效,另一个无效谢谢你的回复,我最终在同一页上找到了一个不同的下拉菜单,使用:elementby.model'user.sourceOfFunds.sendKeys'Savings';上面这行代码对我来说很好,但是当我尝试elementby.model'user.investmentAmount'.sendKeys'50-100'时;或者elementby.model'user.investmentAmount'.sendKeys'100k';我发现元素不可见。不知道为什么一个有效,另一个无效谢谢你的回复,我最终在同一页上找到了一个不同的下拉菜单,使用:elementby.model'user.sourceOfFunds.sendKeys'Savings';上面这一行对我来说很好,但是当我尝试elementby.model'user.investmentAmount'.sendKeys'50-100'‌​; 或者elementby.model'user.investmentAmount'.sendKeys'100k';我发现元素不可见。不确定为什么一个有效,而另一个无效如果你有与之无关的问题,最好打开另一个问题…但是对于这个问题,要么解决它,要么关闭…这样将来其他人可以从中受益,,,
browser.element(by.model('user.investmentAmount')).all(by.tagName('option')).
   then(function(items){
        items[2].click(); 
});