gpt4 book ai didi

javascript - Protractor:在 Iframe 中测试非 Angular 应用程序

转载 作者:行者123 更新时间:2023-11-28 06:00:40 24 4
gpt4 key购买 nike

我正在使用 Protractor 版本 3.3.0 为我的非 Angular 应用程序编写 e2e 测试。我的应用程序在 iframe 内加载另一个非 Angular 应用程序,并且我正在尝试使用 Protractor 将测试写入 iframed-in。

我尝试了上述操作,使用 browser.driver.ignoreSynchronization = true:

1.

 var EC = protractor.ExpectedConditions;
var button = $("div[automation-id='homescreen']")
var isClickable = EC.elementToBeClickable(button);

browser.wait(isClickable, 50000).then(function(){
browser.driver.sleep(500);
button.click();
})

收到错误“失败:未知错误:元素在点 (326, 624) 处不可点击...”

2.

var loc = by.id('myFrame');
el = browser.driver.findElement(loc)
browser.driver.switchTo().frame(el);

收到错误“失败:没有这样的元素:无法定位元素:{“method”:“css选择器”,“selector”:“* [id =“myFrame”]“}”

甚至认为 el 已成功检索..

3.

browser.driver.switchTo().frame(0);

尝试使用索引 1 并收到“失败:没有这样的帧..”错误

4.

browser.driver.getAllWindowHandles()

只收到一个窗口...

最佳答案

如果这是页面上唯一的 iframe,则选项 3 看起来很有希望。我只需等待 iframe 出现,然后再切换到它:

// wait for the frame to be present
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(element(by.tagName("iframe"))), 5000);

// switch to frame
browser.driver.switchTo().frame(0);

关于javascript - Protractor:在 Iframe 中测试非 Angular 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37294407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com