Как получить значения из одной строки страницы и предоставить те же значения на другой странице, используя селен? - PullRequest
0 голосов
/ 23 сентября 2019

Это вопрос, который мне задавали в недавнем интервью. Интервьюер дал один сценарий, в котором мы должны собрать всю информацию о любом клиенте, такую ​​как его адрес, состояние, почтовый индекс, которые присутствуют в первой строке и предоставляют те же значения в существующих полях.на другой странице.

1 Ответ

0 голосов
/ 23 сентября 2019

1.Открытая веб-страница 1 2.Считайте данные таблицы клиента, используя вспомогательный метод, и сохраните их в списке массивов 3.Откройте веб-страницу 2 4.Поставьте данные с помощью списка массивов в поля веб-страницы 2

public class Cusomer {

    public WebDriver driver;

    @BeforeTest
    public void setUp() {

        System.setProperty("webdriver.chrome.driver", "resources\\browserdrivers\\chromedriver.exe");

        // Launch Chrome
        DesiredCapabilities caps = DesiredCapabilities.chrome();
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--disable-extensions");
        caps.setCapability(ChromeOptions.CAPABILITY, options);
        driver = new ChromeDriver(caps);
        driver.manage().window().maximize();
        driver.get("Page 1 url which shows customer table");
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

    }

    @Test
    public void readCustomerDataFromPage1AndAddToPage2(){

    List<WebElement> customer =new ArrayList<WebElement>();//Creating arraylist.

    customer = getWebTableData();

    driver.findElement(By.xpath("someXpath to go to next page")).click();
    // address,state,zip code

    driver.findElement(By.xpath("xpath to address text box on next page")).sendKeys(customer.get(0).getText());
    driver.findElement(By.xpath("xpath to state text box on next page")).sendKeys(customer.get(1)).getText());
    driver.findElement(By.xpath("xpath to zipcode text box on next page")).sendKeys(customer.get(2).getText());

    }


    public List<WebElement> getWebTableData()  { 
        WebElement simpleTable = driver.findElement(By.xpath("//span[2]")); 

        // Get all rows of table
        List<WebElement> rows = simpleTable.findElements(By.tagName("tr")); 

        // Get all td webelements for first row containing address,state,zip code
            List<WebElement> cols = rows.get(0).findElements(By.tagName("td")); 

            return cols;
        }


    @AfterTest
    public void tearDown(){
        if (driver != null)
            driver.close();
    }

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