Can I store a value from a table search in a variable?

114 views Asked by At

I have this code:

 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')

Here I got a timestamp which inputs different email every time


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'))

And from here I want to check the specific email input upper in a table in other page and I am using a table check

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
        }
    }
}

Then here I want to add the returned value from this loop in a variable to use this code, instead of def v = WebUI. I want to use dev = returned values from table

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")
}

Thank you in advanced!

1

There are 1 answers

0
iollo On BEST ANSWER

Work for me with this:


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;
  }
}
}