Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Python Run关键字If-未执行时返回OK结果_Python_Selenium_Selenium Webdriver_Robotframework - Fatal编程技术网

Python Run关键字If-未执行时返回OK结果

Python Run关键字If-未执行时返回OK结果,python,selenium,selenium-webdriver,robotframework,Python,Selenium,Selenium Webdriver,Robotframework,我对关键字Run关键字If也有问题。 我调查了stackoverflow的几乎所有文章,并尝试了很多次不同的解决方案,不幸的是没有改进。 我发表那篇文章是希望有人能给我正确的提示 问题在于: 我试着做一个检查来检查一个字段是否存在,该字段是否在后面 <input type="text" class="select-dropdown" readonly="true" data-activates="select-options-aaf80655-9ef4-37cc-6026-2f5989e8

我对关键字Run关键字If也有问题。 我调查了stackoverflow的几乎所有文章,并尝试了很多次不同的解决方案,不幸的是没有改进。 我发表那篇文章是希望有人能给我正确的提示

问题在于:

我试着做一个检查来检查一个字段是否存在,该字段是否在后面

<input type="text" class="select-dropdown" readonly="true" data-activates="select-options-aaf80655-9ef4-37cc-6026-2f5989e82df1" value="Please select organisation">
可能是我的环境有问题:

机器人框架-3.0.2 Python 2.7.11 奥斯卡皮坦河。10.11.6 您差不多到了-Run关键字和Return Status不会返回字符串“PASS”/“FAIL”,但它会返回一个真布尔值true或False。因此,您的检查永远不会成功-它会进行字符串匹配比较-但此简单的更改可以:

Run keyword If  ${CycleValue}     Select-ORG

如果${CycleValue}为True,则将运行Select ORG,否则为-not。

看起来您可能有拼写错误。。登录控制台检查一个在检查结束时是一个额外的e它是一个单独创建的关键字,特别是在存在必填字段时,然后运行关键字If将执行它。@StefanE,这不是问题,这是我设置的消息。没关系。${CycleValue}变量是否包含值:PASS?您是否尝试过引用:${CycleValue}==PASS,因为这两个字符串都是字符串。@A.Kootstra,从文档中可以看出,我应该指示积极的状态,比如PASS。所以我这么做了,但我没有看到这样做了。单击必填字段。谢谢,您的提示帮助我找到了解决方案。xpath中的问题是重复。所以我调查了如何在我的病例中发现它。找到解决方案并进行检查。它起作用了。Xpath遵循的是://li[@class=step-active]/div/div/div/div/input[@class=select-dropdown][1]提示是关键字的实际工作方式:HTH。xpath——不要使用它——它是一个硬编码结构,字面意思是该类应该有一个li,然后正好有4个div向下取另一个类的输入,如果该类有多个输入,则这是第一个。如果结构有一点变化——有一个div离开或者有一个额外的div进来,或者其中一些变为span——这将爆炸。尝试使用这个-//li[@class=step active]//input[@class=select下拉列表和parent::div[@class=select wrapper]]。它在下面的某个地方读到,li找到了该类的输入,其父类是另一个类的div;这至少可以保护您不受结构更改的影响。非常感谢,现在我们将知道如何编写更完美的xpath定位器。你说得对,设计不稳定,可以更改,然后将开始最大的更正:
*** Settings ***
    Resource              Settings.robot
    Resource              Variables.robot
    Library               OperatingSystem

*** Test Cases ***

Check create Event
  Open SiteURL
  Login as Provider
  Events - Add new

*** Keywords ***

Events - Add new
    Sleep   1
    Go To     ${UrlSite}/cms/activity?t=1
    Sleep   1
    Click Element     xpath=(//a[@class="add-btn-new"])[1]
    Sleep   1
    Log To Console    Checke-one
    Sleep   1
    Log To Console    Check-two
    ${CycleValue} =   Run Keyword And Return Status   Element Should Be Visible     //input[@class="select-dropdown"][1]
    Log To Console    Check-three
    Sleep   1
    Log To Console    Check-four
    Run keyword If  ${CycleValue} == "PASS"     Select-ORG
    Log To Console    Check-five
Select-ORG
    Sleep   1
    Click Element     xpath=(//input[@class="select-dropdown"])[1]
    Sleep   1
    Click Element     xpath=//div[@class="row"]/div/div/ul/li[last()]/span
    Sleep   1
Run keyword If  ${CycleValue}     Select-ORG