【发布时间】:2020-02-27 16:59:13
【问题描述】:
我正在尝试为我公司的网站进行自动化测试。代码通过了我的测试,但它跳过了一步。它应该首先从输入区域中删除文本,然后将新值添加到该同一位置。
我已经尝试点击输入区,然后删除Delete Text
Clear Element Text id=bankAccount.iban的文字,但是跳过了这部分
此代码来自机器人框架
*** Settings ***
Library Selenium2Library
*** Variables ***
${Username} myemailaddress@gmail.com
${Password} 12345678
${Browser} Chrome
${SiteUrl} http://our.siteaddress.fi/flfuserct-style/login
${DashboardTitle} Our title was here
${ExpectedWarningMessage} IBAN is invalid
${WarningMessage} Adding a new bank failed!
${BankIban} FI2112345600000788 (((this is not a real IBAN, so don't worry)))
${Delay1} 3s
${Delay2} 1s
${Delay3} 2s
${Delay4} 2s
${Delay5} 3s
${Delay6} 1s
*** Test Cases ***
Login Should Complete Without Errors, But Changing To A New Bank Should Fail Via Invalid IBAN
Open Page
Check Title
Enter User Name
Enter Password
Click Login
sleep ${Delay1}
Click My Info
sleep ${Delay2}
Click Bank Account
sleep ${Delay3}
Click Edit
sleep ${Delay4}
Delete Text
sleep ${Delay5}
Enter IBAN
Assert Warning Message
sleep ${Delay6}
[Teardown] Close Browser
*** Keywords ***
Open Page
open browser ${SiteUrl} ${Browser}
Maximize Browser Window
Check Title
Title Should be ${DashboardTitle}
Enter User Name
Input Text css=[type="text"] ${Username}
Enter Password
Input Text css=[type="password"] ${Password}
Click Login
Click Button css=[type="submit"]
Click My Info
Click Element id=my-info
Click Bank Account
Click Link css=[href="/flfuserct-style/users/me/bank-accounts/primary"]
Click Edit
Click Element css=.MuiButton-label
Delete Text
Clear Element Text id=bankAccount.iban
Enter IBAN
Input Text id=bankAccount.iban ${BankIban}
Assert Warning Message
Element Text Should Be id=bankAccount.iban-helper-text ${ExpectedWarningMessage} ${WarningMessage}
这个代码如果来自网站
<input aria-invalid="true" class="MuiInputBase-input MuiInput-input"
id="bankAccount.iban" name="bankAccount.iban" required="" type="text"
value="FI2112345600000788" aria-describedby="bankAccount.iban-helper-text">
来自机器人框架的代码 (https://imgur.com/RY7E5h6)
日志中的代码 (https://imgur.com/XESLljF)
如果您能看到这些图片(对不起,我是新来的),第一张来自 Robot Framework,显示了消息日志。如您所见,它通过了测试而没有错误,但它跳过了 Clear Element Text 部分。
日志中的第二张图片显示:清除定位器标识的文本输入元素的值。但这并没有发生。它只是在现有的 IBAN 之后写入 IBAN,它应该删除它。
另外,我似乎不能连续做 3 *,但设置、变量、测试用例和关键字都有 3 颗星
【问题讨论】:
-
实际上并没有跳过关键字,日志显示已经执行了。
-
是的,但实际上没有。它仍然没有做任何事情。你知道它为什么要这样做吗?
-
在“关键字被执行”和“关键字没有做它应该做的事情”之间有一个明显的区别。由于我没有看到结果或 HTML 源代码,因此无法真正说出交易是什么。另外,尝试将
Sleeps 替换为Wait Until Element关键字以加快测试执行时间。 -
结果和 HTML 源代码在我的问题中作为链接。同样,当我再次查看我的代码时,我注意到它确实跳过了那部分。我在它们之间有 2 个睡眠(等到元素可见对我不起作用)所以我可以清楚地看到它跳过了这一步。
标签: python selenium robotframework selenium2library