robotframework - 机器人框架,chrome新标签问题
问题描述
我有一个简单的机器人框架脚本
*** Settings ***
Documentation Simple Amazon.in demo
Library SeleniumLibrary
*** Variables ***
${MESSAGE} Hello, World
*** Test Cases ***
User must sign in to check out
[Documentation] This is some basic info about the test
[Tags] Smoke
Open Browser http://www.amazon.in chrome
Input text id=twotabsearchtextbox Ferrari 458
Click Button xpath=//div[@class='nav-search-submit nav-sprite']/input[@class='nav-input' and 1]
Wait until page Contains results for "Ferrari 458"
Click Link css=#result_0 a.s-access-detail-page
Wait until Page Contains Back to search results for "Ferrari 458"
Click Button id=add-to-cart-button
Wait Until Page Contains 1 item added to Cart
但是每当 chrome 到达Click Link css=#result_0 a.s-access-detail-page
它时,它就会打开一个新选项卡,我的机器人脚本就会失败。我该如何纠正它。请帮忙
解决方案
您可以使用选择窗口关键字和Get Window Titles
关键字在它们之间导航Get Window Titles
关键字将返回标题列表该列表中的最后一个索引是已打开的新选项卡,要从列表中访问它,您可以执行以下操作${Tabs[1]}
(如在此代码列表中只有 2 个值)
*** Settings ***
Documentation Simple Amazon.in demo
Library SeleniumLibrary
*** Variables ***
${MESSAGE} Hello, World
*** Test Cases ***
User must sign in to check out
[Documentation] This is some basic info about the test
[Tags] Smoke
Open Browser http://www.amazon.in chrome
Input text id=twotabsearchtextbox Ferrari 458
Click Button xpath=//div[@class='nav-search-submit nav-sprite']/input[@class='nav-input' and 1]
Wait until page Contains results for "Ferrari 458"
Click Link css=#result_0 a.s-access-detail-page
${Tabs} = Get Window Titles
select window title=${Tabs[1]}
Wait until Page Contains Back to search results for "Ferrari 458"
Click Button id=add-to-cart-button
# Wait Until Page Contains 1 item added to Cart
Wait Until Page Contains Added to Cart
结果:
==============================================================================
Amazon :: Simple Amazon.in demo
==============================================================================
User must sign in to check out :: This is some basic info about th...
DevTools listening on ws://127.0.0.1:29864/devtools/browser/75b8be3c-6e76-474f-b391-d340fb322895
User must sign in to check out :: This is some basic info about th... | PASS |
------------------------------------------------------------------------------
Amazon :: Simple Amazon.in demo | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output: C:\development\robot-scripts\sssss\output.xml
Log: C:\development\robot-scripts\sssss\log.html
Report: C:\development\robot-scripts\sssss\report.html
我更改了代码的最后一行,因为它不是有效文本。请参阅代码中的注释。
推荐阅读
- sql - 我在创建 VBA 以在 ms-access 中将数据动态添加到我的表时遇到问题
- mysql - mysql 中的 ORDER BY 百分比 - 100% 移到最后
- python - 如何使用 ctypes 停止和重新启动从 python 运行的 C++ 代码
- c# - 如何在不收到 403 的情况下将 c# 中的浏览器握手复制到 websocket?
- jquery - 模态对话框不会随 stopPropogation 关闭
- java - 在 Spring Boot 中使用生成的 ID 持久化 OneToMany 实体
- firebase - 在 Firebase 托管中哪里可以找到以前连接的自定义域的 DNS A 记录信息?
- php - phpredis 会话锁定 -- 未能获得锁定会引发 php 通知 -- 会出现致命错误
- highcharts - 如何隐藏/显示系列中的数据?(高图)
- html - IFrame 在 IE 和 Firefox 中显示空白/空内容——