我正在使用Robot IDE创建机器人自动化测试脚本。对于我开始进行音频通话时的测试,浏览器会通过"允许"和" Block"纽扣。因此,它是一个基于Web的警报/弹出对话框,我无法在我的机器人脚本中访问它。如果我点击"允许"手动按钮然后它继续测试并成功通过,但我需要手动点击它。
从图像中我可以看到,我想点击允许按钮,这是我测试中必须进行的。
所以任何人都知道如何点击"允许"通过机器人测试脚本浏览器确认弹出按钮。
提前致谢!
我的项目结构是
答案 0 :(得分:2)
可以使用chrome://settings/查看推动此功能的Chrome设置。这些设置存储在Chrome配置文件中。可以使用chrome://version/找到此配置文件的路径。在preferences
文件中,可以找到JSON结构设置。
在下面的机器人框架示例中,脚本打开Google,然后单击麦克风图标以开始语音搜索。在正常情况下,这会导致麦克风访问弹出窗口。
分配分为两个变量的原因是因为url包含被视为分隔符的字符(. : //
)。然后通过手动创建结构的这一部分来克服这个问题:Create Dictionary https://www.google.nl:443,*=${SiteOptions}
。
这导致了理想的偏好结构:
...
"profile":{
...
"content_settings": {
...
"exceptions": {
...
"media_stream_mic":{
"https://www.google.nl:443,*":{
"last_used":1492245954.955647,
"setting":1
}
},
机器人脚本:
*** Settings ***
Library Selenium2Library
*** Test Cases ***
Chrome With Preferences
${chrome_options} = Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
&{SiteOptions} Create Dictionary last_used=${1470931206} setting=${1}
&{media_stream_mic} Create Dictionary https://www.google.nl:443,*=${SiteOptions}
${prefs} Create Dictionary profile.content_settings.exceptions.media_stream_mic=${media_stream_mic}
Call Method ${chrome_options} add_experimental_option prefs ${prefs}
Create WebDriver Chrome chrome_options=${chrome_options}
Go To https://google.com
Click Link css=#gs_st0 > a # Click the search microphone icon.
sleep 5s
[Teardown] Close Browser