#groovy #katalon-studio #groovy-console #katalon-recorder #java.lang.class
#заводной #katalon-студия #groovy-консоль #каталон-рекордер #java.lang.class
Вопрос:
У меня есть этот код:
WebUI.openBrowser('')
WebUI.navigateToUrl('https://www.texaslending.com/')
WebUI.click(findTestObject('Page_TexasLending.com - When you think of m_ec7bcf/img_Simplify your search. Select your loan._410ce5'))
WebUI.delay(1)
WebUI.click(findTestObject('Page_Refinance Home Current Mortgage Rates_4ab5ec/img_Blog_do-not-smush'))
WebUI.delay(1)
WebUI.setText(findTestObject('Page_Sales Funnel - TexasLending.com/input_What is your current loan balance_fie_eccf68'),
'653')
WebUI.click(findTestObject('Page_Sales Funnel - TexasLending.com/img_What is your current loan balance_vc_si_5c602b'))
WebUI.delay(1)
WebUI.click(findTestObject('Page_Sales Funnel - TexasLending.com/div_We currently do not loan in this area'))
WebUI.delay(1)
WebUI.setText(findTestObject('Page_Sales Funnel - TexasLending.com/input_Zipcode_zip'), '75065')
WebUI.delay(1)
WebUI.click(findTestObject('Page_Sales Funnel - TexasLending.com/img_We currently do not loan in this area.__d583fb'))
WebUI.delay(1)
WebUI.click(findTestObject('Page_Sales Funnel - TexasLending.com/img_How did you hear about us_vc_single_ima_7c4a04'))
WebUI.setText(findTestObject('Page_Sales Funnel - TexasLending.com/input_First Name_fname'), 'test')
WebUI.setText(findTestObject('Page_Sales Funnel - TexasLending.com/input_Last Name_lname'), 'test')
Здесь я получил временную метку, которая каждый раз вводит разные электронные письма
def address = CustomKeywords.'com.costea.EmailUtil.getMyAddress'()
WebUI.setText(findTestObject('Page_Sales Funnel - TexasLending.com/input_Email Address_email'), address)
WebUI.setText(findTestObject('Page_Sales Funnel - TexasLending.com/input_Email Address_email'), address)
WebUI.delay(0)
WebUI.click(findTestObject('Page_Sales Funnel - TexasLending.com/input_Phone Number_field27977902'))
WebUI.setText(findTestObject('test2/Page_Sales Funnel - TexasLending.com/input_Phone Number_field27977902'), '1234567890')
WebUI.click(findTestObject('test2/Page_Sales Funnel - TexasLending.com/img_I agree to the Terms and Conditions and_928f25'))
WebUI.closeBrowser()
WebUI.delay(2)
WebUI.openBrowser('')
WebUI.maximizeWindow()
WebUI.navigateToUrl('https://lm.prod.velocify.com/Web/Login.aspx')
WebUI.setText(findTestObject('Object Repository/Page_LeadManager - Login/input_User Name_usernameTextBox'), '')
WebUI.setEncryptedText(findTestObject('Object Repository/Page_LeadManager - Login/input_Password_passwordTextBox'), '')
WebUI.click(findTestObject('Object Repository/Page_LeadManager - Login/input_Password is required._loginButton'))
И отсюда я хочу проверить конкретный ввод электронной почты вверху в таблице на другой странице, и я использую проверку таблицы
String ExpectedValue = address;
WebDriver driver = DriverFactory.getWebDriver()
//Expected value from Table
WebElement Table = driver.findElement(By.xpath('//*[@id="leadtable"]'))
//To locate table
rows_table = Table.findElements(By.tagName('//th/td'))
// To locate rows of the table it will Capture all the rows available in the table
List<WebElement> rows_table = Table.findElements(By.tagName('th'))
// To calculate no of rows In table
int rows_count = rows_table.size()
// Loop will execute for all the rows of the table
Loop:
for (int row = 0; row < rows_count; row ) {
List<WebElement> Columns_row = rows_table.get(row).findElements(By.tagName('a'))
int columns_count = Columns_row.size()
println((('Number of cells In Row ' row) ' are ') columns_count)
for (int column = 0; column < columns_count; column ) {
String celltext = Columns_row.get(column).getText()
println((((('Cell Value Of row number ' row) ' and column number ') column) ' Is ') celltext)
if (celltext == ExpectedValue) {
println('Lead is present ' Columns_row.get(2).getText())
} else {
println('Lead is not added')
break
}
}
}
Затем здесь я хочу добавить возвращаемое значение из этого цикла в переменную, чтобы использовать этот код вместо def v = WebUI . Я хочу использовать dev = возвращаемые значения из таблицы
def v = WebUI.getAttribute(findTestObject('Page_Sales Funnel - TexasLending.com/input_Email Address_email'),
'value')
def result = WebUI.verifyEqual(v, address)
if (result) {
WebUI.comment("Good! The address ${address} is what I expected")
} else {
WebUI.comment("Nein, die Adresse ${address} ist nicht das, was ich erwartet habe")
}
Заранее благодарю вас!
Ответ №1:
Работайте для меня с этим:
WebDriver driver = DriverFactory.getWebDriver()
//Expected value from Table
WebElement Table = driver.findElement(By.xpath('//*[@id="leadtable"]'));
//To locate table
rows_table = Table.findElements(By.tagName('/tr/th'));
// To locate rows of table it will Capture all the rows available in the table
List<WebElement> rows_table = Table.findElements(By.tagName('tr'));
// To calculate no of rows In table
int rows_count = rows_table.size();
println("rows_count=${rows_count}");
// Loop will execute for all the rows of the table
Loop:
for (int row = 0; row < rows_count; row ) {
List<WebElement> Columns_row = rows_table.get(row).findElements(By.tagName('td'));
int columns_count = Columns_row.size();
println((('Number of cells In Row ' row) ' are ') columns_count);
boolean found = false
for (int column = 0; column < columns_count; column ) {
//Here I add value 10 in the row.get()
celltext = Columns_row.get(10).getText()
println((((('Cell Value Of row number ' row) ' and column number ') column) ' Is ') celltext)
if (celltext == ExpectedValue) {
found = true
println('Lead is present ' Columns_row.get(10).getText())
}
else {
println('Lead is not added')
break Loop;
}
}
}