如何比较量角器中两个窗口之间两个元素的值?
问题描述:
我需要保存“$$('[title =”Ir al documento“]')。first()。getText();”用于在另一个窗口中比较。如何比较量角器中两个窗口之间两个元素的值?
it('spec', function() {
var text;
$$('#links-list a').first().click().then(function() {
browser.driver.getAllWindowHandles().then(function (handles) {
browser.driver.switchTo().window(handles[1]).then(function() {
browser.wait(EC.visibilityOf($('#introBienvenida .boton')), 5000);
$('#introBienvenida .boton').click();
element(by.id("texto")).sendKeys('texto refundido');
element(by.id("buttonSearch")).click();
text = $$('[title="Ir al documento"]').first().getText(); // I need save to compare this value.
$$('[title="Ir al documento"]').first().click();
});
browser.driver.close();
browser.driver.switchTo().window(handles[0]); // Back again.
});
});
expect($('#adDoc0 .AD-objetivo').getText()).toEqual(text); // I need assert the content of text
});
编辑:
我需要的是元素的值与手柄1和元素的窗口带手柄0
首先值我在元点击比较窗口窗口与句柄0,然后我单击窗口中的文档与句柄1,我得到一个值后,我必须回到窗口与句柄0得到一个值,并与窗口的值与手柄1的值进行比较。
答
量角器是根据承诺和回调的原则而开发的。 getText()
函数返回带有文本值的承诺。有很多方法可以处理这种情况,
- 期望它在
getText()
函数的承诺内。 (这个已经发布为@ user2020347的答案)。 -
保存它使用全局变量,然后使用它,你需要的功能之外 -
var text; $$('#links-list a').first().click().then(function() { //switch to window 1 $$('[title="Ir al documento"]').first().getText().then(function(windowOneText){ text = windowOneText; }); //close the windows to go back to first window }); expect($('#adDoc0 .AD-objetivo').getText()).toEqual(text);
-
它传递到下一个回调函数作为参数 -
var text; $$('#links-list a').first().click().then(function() { //switch to window 1 $$('[title="Ir al documento"]').first().getText().then(function(windowOneText){ text = windowOneText; }); //close the windows to go back to first window return text; }).then(function(argText){ expect($('#adDoc0 .AD-objetivo').getText()).toEqual(argText); });
希望能帮助到你。
答
我认为你需要通过一个亲濑。
$$('[title="Ir al documento"]').first().getText().then(function(documentTitleText){
browser.driver.switchTo().window(handles[0]);
expect($('#adDoc0 .AD-objetivo').getText()).toEqual(documentTitleText);
});
+0
我需要的是将窗口中Element的值与句柄1进行比较,以及窗口句柄为0的Element的值。 – winlinuz
解决了选择2.我忘了getText()返回promise。谢谢! – winlinuz