Если оператор не улавливает конкретное условие в Каталоне - PullRequest
0 голосов
/ 05 ноября 2019

я написал код для соответствия условию, используя оператор if в katalon, но каким-то образом оператор if не уловил мое условие. Вот мой код:

def ElementChecked =
WebUI.verifyElementChecked(findTestObject('Page_/checkbox_BPKB_assignment'),0,FailureHandling.OPTIONAL)
        if (ElementChecked==true){
            println(">>>>>ALREADY CLICKED")
        }
        else{
            println(">>>>>Not clicked yet")
            WebUI.click(findTestObject('Page_/checkbox_BPKB_assignment'))
            WebUI.click(findTestObject('Page_/button_Submit'))
            WebUI.click(findTestObject('Page_/button_OK'))
        }

Из приведенного выше кода, элемент, который я хочу проверить, является radiobutton. Итак, я делаю условие, если проверена кнопка радио, затем печатаю (">>>>> УЖЕ НАБЛЮДЕНО), а затем печатаю (" >>>>> Еще не нажали ") и выполняю некоторые щелчки. Но даже если условие истинно, оно всегдаперейти к другому заявлению. Кто-нибудь может мне помочь, что с этим не так?

1 Ответ

0 голосов
/ 14 ноября 2019

Если у вас есть некоторая логика bsns, основанная на / не проверена, лучше работать с org.openqa.selenium.WebElement.

Пример проверки состояния переключателя:

Определение ключевого слова:

import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import com.kms.katalon.core.webui.driver.DriverFactory


public class Q58713480 {

    @Keyword
    def ElementChecked(TestObject testObject) {
        WebDriver driver = DriverFactory.getWebDriver()
        WebElement element = WebUI.findWebElement(testObject, 5)
        if (element.isSelected()) {
            KeywordUtil.logInfo("Element is checked.")
        }
        else {
            KeywordUtil.logInfo("Element is not checked.")
        }
    }
}

Контрольный пример:

WebUI.openBrowser('')
WebUI.maximizeWindow()
WebUI.navigateToUrl("http://www.echoecho.com/htmlforms10.htm")
WebUI.waitForPageLoad(60)

CustomKeywords.'Q58713480.ElementChecked'(findTestObject('radio1'))
WebUI.click(findTestObject('radio1'))
CustomKeywords.'Q58713480.ElementChecked'(findTestObject('radio1'))

WebUI.closeBrowser()

Выход:

...
2019-11-14 13:25:14.514 DEBUG testcase.question58713480                - 2: maximizeWindow()
2019-11-14 13:25:15.705 DEBUG testcase.question58713480                - 3: navigateToUrl("http://www.echoecho.com/htmlforms10.htm")
2019-11-14 13:25:18.382 DEBUG testcase.question58713480                - 4: waitForPageLoad(60)
2019-11-14 13:25:18.720 DEBUG testcase.question58713480                - 5: Q58713480.ElementChecked(findTestObject("radio1"))
2019-11-14 13:25:19.298 INFO  com.kms.katalon.core.util.KeywordUtil    - Element is not checked.
2019-11-14 13:25:19.299 INFO  k.k.c.m.CustomKeywordDelegatingMetaClass - Q58713480.ElementChecked is PASSED
2019-11-14 13:25:19.299 DEBUG testcase.question58713480                - 6: click(findTestObject("radio1"))
2019-11-14 13:25:19.568 DEBUG testcase.question58713480                - 7: Q58713480.ElementChecked(findTestObject("radio1"))
2019-11-14 13:25:19.726 INFO  com.kms.katalon.core.util.KeywordUtil    - Element is checked.
2019-11-14 13:25:19.726 INFO  k.k.c.m.CustomKeywordDelegatingMetaClass - Q58713480.ElementChecked is PASSED
2019-11-14 13:25:19.727 DEBUG testcase.question58713480                - 8: closeBrowser()
2019-11-14 13:25:20.702 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/question58713480

И тестовый объект 'radio1' (создан вручную): radio1 test object

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...