在过去的几天里,我一直在尽我所能配置机器人框架测试以在 Chrome 中打开,但通过更改视口使用移动设置进行查看。我终于解决了 chrome 驱动程序问题(Mac OS),但视口修改仍然令人困惑。
我是否需要 (a) 创建 Webdriver 或 (b) 从 python 文件传递设置,如此处所示Mobile Emulation
我有这样的数据
{"_embedded":[
{"attr_name":"attr_value_1"},
{"attr_name":"attr_name_2"}
]
}
Run Code Online (Sandbox Code Playgroud)
我想获得第一个属性 attr_value_1。
你知道如何在机器人框架中做到这一点的好方法吗?像Get JSON /_embedded[0]/attr_name什么?
我是 Robot 框架的新手,我已经按照此链接中的所有设置相关步骤进行了操作 ,但是,我遇到了一些无法识别的错误。任何人,请帮忙。
*** Settings ***
Documentation Simple example using SeleniumLibrary.
Library Selenium2Library
Library OperatingSystem
*** Variables ***
${LOGIN URL} https://www.google.com/
${BROWSER} Chrome
${EXECDIR} C:\chromedriver_win32\chromedriver.exe
*** Test Cases ***
Checking browser to login page
Setup chromedriver
Open Browser To Login Page
*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Setup chromedriver
Set Environment Variable webdriver.chrome.driver ${EXECDIR}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
C:\Users\sanat\AppData\Local\Programs\Python\Python36-32\Scripts\pybot.bat
Smoke.robot
======================================================================
Smoke :: Simple example using SeleniumLibrary.
=====================================================================
Checking browser to login page …Run Code Online (Sandbox Code Playgroud) 我正在尝试从类或 xpath 中获取所有文本,对其进行迭代并将其放入列表中。
尝试了下面的代码,但不断收到此错误:
未找到名称为“附加到列表”的关键字。
${xpath}= Set Variable //label[@class='required']
${count}= Get Element Count ${xpath}
${names}= Create List
:FOR ${i} IN RANGE 1 ${count} + 1
\ ${name}= Get Text xpath=(${xpath})[${i}]
\ Append To List ${names} ${name}
\ Log To Console ${names}
Run Code Online (Sandbox Code Playgroud)
我尝试过的其他解决方案也出现了以下代码的相同错误。
@{locators}= Get Webelements ${requiredDocuments}
@{result}= Create List
: FOR ${locator} IN @{locators}
\ ${name}= Get Text ${locator}
\ Log ${name}
\ Append To List ${result} ${name}
Log ${result}
Run Code Online (Sandbox Code Playgroud) 我正在编写具有以下逻辑的机器人脚本:
检查测试可执行文件是否存在。如果存在,则使用参数调用可执行文件。如果它不存在,则记录一条消息并作为失败退出,
*** Settings ***
Documentation Test Script to Call an executable from Robot
Library OperatingSystem
Library Process
*** Variables ***
${FAILMESSAGE} Unable to locate the executable
${SUCCESSMESSAGE} Executing ....
${PATH} C:\\bin
${BINARY} tester.exe
${rc} 0
*** Test Cases ***
Test
[Documentation] Module Test
${rc} = Execute Command dir ${PATH}\\${BINARY}
Run Keyword If ${rc} == 0 Start Test ELSE Stop Test
Start Test
Log ${SUCCESSMESSAGE}
${Res} Run ${PATH}\\${BINARY}
Stop Test
Log ${FAILMESSAGE}
Run Code Online (Sandbox Code Playgroud)
但是,脚本失败说明“找不到名称为 '${rc} = Execute Command dir ${PATH}\${BINARY}' …
我想在 RobotFramework 中创建一个在下周六返回的函数。
*** Settings ***
Library SeleniumLibrary
Library DateTime
*** Keywords ***
Get Next saturday
${today}= Get Time
${today_day}= Convert Date ${today} result_format=%a
${next_saturday}= ????
${next_saturday_formated}= Convert Date ${next_saturday} result_format=%d/%m/%Y
[Return] ${next_saturday_formated}
Run Code Online (Sandbox Code Playgroud)
在问这个问题之前,我尝试使用
${next_saturday}= Set Variable If "${today_day}"=="Fri" ...
Run Code Online (Sandbox Code Playgroud) 我正在 Docker 容器内运行机器人框架(基于 Selenium)测试。但是我需要访问 Docker 容器之外的文件(在 Mac 中)。
我曾尝试提供 Mac 的绝对路径,但 Docker 将其核心文件夹称为根文件夹。
我发现以下链接适用于 Windows,但不适用于 Mac。
我还在学习机器人框架,我在互联网上做了很多研究,但找不到线索,任何人都可以在这里帮忙。在网页自动化测试中,我需要先验证某个元素是否已启用,然后再对其进行任何其他操作。例如一个下拉菜单,在我从中选择任何选项之前,我需要检查该下拉菜单是否已启用或是否可点击。
尝试了所有可能的方法来实现这一目标,但没有取得任何进展,也在互联网上进行了大量研究。
Run Keyword If "Element is enabled" "Select an option" Else No Operation
Run Code Online (Sandbox Code Playgroud)
我应该能够确定我尝试选择的元素是否已启用或不继续进行。
我不知道从哪里获取最后一个定位器 div
我尝试按Get Element Countin计算元素,div但它只有 1
示例 html
<div class="add-product"
<p data-aura-rendered-by="188:14729;a">
<span data-aura-rendered-by="191:14729;a">01-January</span>
<p data-aura-rendered-by="195:14729;a">
<span data-aura-rendered-by="198:14729;a">02-February</span>
<p data-aura-rendered-by="230:14729;a">
<span data-aura-rendered-by="233:14729;a">07-July</span>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要div在div(7 月 7 日)计算所有元素或获取最后一个位置,但每次div包含不同数量的元素(这取决于测试数据)。
在通过机器人框架运行自动化测试时,我的 Web 应用程序出现 ssl 证书错误。我在下面的代码中尝试了不同的 chrome 选项,但没有一个在没有布尔值的情况下也能正常工作。
${list} = Create List --unsafely-treat-insecure-origin-as-secure=True
${args} = Create Dictionary args=${list}
${desired caps} = Create Dictionary chromeOptions=${args}
open browser about:blank ${BROWSER} desired_capabilities=${desired_caps}
Run Code Online (Sandbox Code Playgroud)
先感谢您
robotframework ×10
python ×3
datetime ×1
docker ×1
macos ×1
pycharm ×1
python-3.x ×1
selenium ×1
xpath ×1