我一直试图在量角器中运行此代码,但我一直收到此错误,但无论如何我都找不到获取anpr_box_input文本值的方法。
价值:ManagedPromise :: 871 {[[PromiseStatus]]:"待定"} 失败 - 当屏幕包含ANPR请求时,应该有一个有效的许可证号码牌 套件失败:ANPR屏幕内容
Chrome版本:58.0.3029.110(64位) 依赖关系: "量角器":" 5.1.2", " jasmine-core":" ~2.4.1", " karma-jasmine":" ^ 1.1.0", " karma-jasmine-html-reporter":" ^ 0.2.2", " @ types / jasmine":" 2.5.36"
描述(' ANPR屏幕内容',功能(){
it('should have a valid license number plate when screen contains as ANPR request', function () {
var base_keyboard_ok = browser.driver.findElement(by.id('base-keyboard-ok'));
var anpr_box_input = browser.driver.findElement(by.className('anpr-box-input'));
//anpr_box_input.clear().then(function() { anpr_box_input.sendKeys('999'); }); tryed it before, didn't work
anpr_box_input.clear().then(function() { anpr_box_input.setAttribute("value", "459"); });
base_keyboard_ok.click();
/* didn't work
anpr_box_input.getText().then(function(text) {
console.log("AQUI: " + text);
});
*/
//console.log("Value: " + anpr_box_input.getAttribute('value')); didn't work
//working on..
anpr_box_input.getAttribute('value').then(function(text) {
console.log("Value: " + text);
});
//so i'll need something like
expect(anpr_box_input.text).toEqual("1234");
});
});
答案 0 :(得分:1)
根据提供的信息和HTML,您无法使用
设置元素的值 anpr_box_input.sendKeys('999');
因为它不是input
,而是<div>
。
anpr_box_input.setAttribute("value", "459");
也不起作用,因为setAttribute
不是有效的量角器命令。您首先需要知道该字段的工作原理,我的猜测是它是一个<div>
元素,它反映了包含原始值的其他字段的值。您需要找到该字段并执行:
sendKeys()
browser.driver.executeScript('argument[0].setAttribute("name", "value")', element(by.css('#selector').getWebElement())
就可以了。
我对你的代码也有1条评论。根据您提供的代码,看起来您有一个Angular页面,但您正在使用&#34; vanila&#34;用于定位元素的webdriver命令,为什么不使用带有element(by.css(''))
的Protractor语法等等?
答案 1 :(得分:0)
非常感谢wswebcreation,我会看看你刚刚提到的有关vanila webdriver的内容,但我刚刚找到了一个解决方案,如下所示:
#include <stdio.h>
#include <stdlib.h>
int myArray[100];
int* ptr = myArray;
int i;
int n = sizeof(myArray);
int SortedArray[100];
int MakeRandArray(ptr, i)
{
for (i = 0; i < n; i++) {
(ptr + i) = rand()
}
}
int SortArray(ptr)
{
int a;
int j = (i + 1);
for (i = 0; i < n; i++) {
if ((ptr + i) > (ptr + j)) {
(ptr + i) = (ptr + j)
}
}
}
int main()
{
MakeRandArray(*ptr, i);
SortArray(*ptr);
}