Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
Protractor 使用量角器:使用browser.switchTo().frame切换到iframe_Protractor_Angularjs E2e - Fatal编程技术网

Protractor 使用量角器:使用browser.switchTo().frame切换到iframe

Protractor 使用量角器:使用browser.switchTo().frame切换到iframe,protractor,angularjs-e2e,Protractor,Angularjs E2e,因此,我已经编写了测试脚本,其中: 1) 登录到应用程序框架,然后 2) 单击菜单启动我正在测试的应用程序(“MyAwesomeApp.html”用于此帖子) 我的主要问题是:在下面的navpanel-spec.js中,我想定位URL,然后在运行MyAwesomeApp的iframe中单击 ****错误尝试以这种方式切换到iframe,但不起作用: browser.switchTo().frame(element(by.id('1')).getWebElement()); cmd提示符中出现错

因此,我已经编写了测试脚本,其中:

1) 登录到应用程序框架,然后

2) 单击菜单启动我正在测试的应用程序(“MyAwesomeApp.html”用于此帖子)

我的主要问题是:在下面的
navpanel-spec.js
中,我想定位URL,然后在运行MyAwesomeApp的iframe中单击

****错误尝试以这种方式切换到
iframe
,但不起作用:

browser.switchTo().frame(element(by.id('1')).getWebElement());
cmd提示符中出现错误:

 Started
 [15:43:29] E/launcher - No element found using locator: By(css selector, *[id="\31 "])
 ...
 sat-navpanel-spec.js:52:24)
这里有两个URL:

1) (主应用程序框架,顶部导航中有菜单系统)

2) (测试脚本在
标记内启动的web应用程序

html如下所示,其中应用程序在
中呈现:


如上所述,量角器有一个bug,它在id元素前面加上前缀“\3”和数字


暂时的方法是更改您的定位器。注意:p

这是我第二次看到相同的问题。您的id定位器的前缀为“\3”。此错误仍然存在。请尝试使用其他定位器。我将尝试使用css定位器。Thx。我还将尝试将
名称和
id
值从
1
更改为其他值。在HTML4中下面,这两个属性不能以数字开头。@finspin-这也是我想到的第一件事。但当然,该应用程序已经以这种方式推出了;但是,嘿,值得一试。我可以随时请求更改div ID属性。感谢您的输入。这与iframe的问题没有直接关系,但看起来您的spec文件是耦合在一起的。您应该避免这种情况,因为您会遇到各种问题。可以直接将登录/启动功能包含到
navpanel-spec.js
中,或者使用PageObject模式从单独的节点包调用它。