ENDWHILE不工作,没有在编辑时指数无法启动

问题描述 投票:1回答:1

我使用Katalon记录Chrome扩展程序,

我的代码是工作在一些奇怪的方式,开始我的测试首先我只是编辑(即使点击添加/删除空间)与启动while循环的步骤。第二件事情是,ENDWHILE测试后没有停止而是继续在变空。任何建议什么是错的(也可能是一个愚蠢的问题,我在使用它很挺新鲜的)。

这在现场检查某些领域不应该通过电子邮件字段可以接受的列表。

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as MobileBuiltInKeywords
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import internal.GlobalVariable as GlobalVariable
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS

import com.thoughtworks.selenium.Selenium
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.WebDriver
import com.thoughtworks.selenium.webdriven.WebDriverBackedSelenium
import static org.junit.Assert.*
import java.util.regex.Pattern
import static org.apache.commons.lang3.StringUtils.join

WebUI.openBrowser('https://www.katalon.com/')
def driver = DriverFactory.getWebDriver()
String baseUrl = "https://www.katalon.com/"
selenium = new WebDriverBackedSelenium(driver, baseUrl)
String  = selenium.getEval("index=0")
selenium.open("https://someportal/#/login")
selenium.click("link=Sign up")
String domainList = selenium.getEval("['0-mail.com','027168.com','0815.su','0sg.net','10mail.org','10minutemail.co.za','11mail.com','123.com','123box.net','123india.com','123mail.cl','123mail.org','123qwe.co.uk','126.com','139.com','150mail.com','150ml.com','15meg4free.com','163.com','16mail.com','188.com','189.cn','1ce.us','1chuan.com','1coolplace.com','1freeemail.com','1funplace.com','1internetdrive.com','1mail.ml','1mail.net','1me.net','1mum.com','1musicrow.com', and many many more domains in this array...']")

selenium.click("id=email")
selenium.while("(index=0, index <= storedVars['domainList'].length)")
String temp = selenium.getEval("index+1")
String finalCount = selenium.getEval("temp")
System.out.println(selenium.getEval("'" + domainList + "'['" + temp + "']"));
String forbiddenMail = selenium.getEval("domainList[index++]")
selenium.type("id=email", "kamtest@" + forbiddenMail)
selenium.click("id=password")
selenium.type("id=password", "ZAQ!2wsx")
selenium.click("id=confirmpassword")
selenium.type("id=confirmpassword", "ZAQ!2wsx")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='mail_outline'])[1]/preceding::h2[1]")
verifyEquals("Please enter your business email address. This form does not accept addresses from free email domains", selenium.getText("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Email Address'])[1]/following::small[2]"));
selenium.click("name=tc")
selenium.click("name=submit")
selenium.click("xpath=(.//*[normalize-space(text()) and normalize-space(.)='mail_outline'])[1]/preceding::h2[1]")
verifyEquals("Please enter your business email address. This form does not accept addresses from free email domains", selenium.getText("xpath=(.//*[normalize-space(text()) and normalize-space(.)='Email Address'])[1]/following::small[2]"));
selenium.open("https://someportal.com/#/login")
selenium.click("link=Sign up")
selenium.endWhile()

毕竟域检查(4700)试验继续空,而不是停止测试。测试可以在(指数),拿到第一个结果,没有定义的索引不能没有编辑启动。

selenium while-loop katalon-studio katalon-recorder
1个回答
0
投票

问题是你的,而条件

您应该改用<<=

selenium.while("(index=0, index < storedVars['domainList'].length)")

length返回数组中元素的数目,但是由于索引是基于零的,最后一个元素的索引将是长度 - 1

© www.soinside.com 2019 - 2024. All rights reserved.