Привычный Selenium xpaths? - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно получить динамические c пути для удаления и обновления проекта в todo.ly, мой код неэффективен (я думаю), и у меня возникают проблемы при удалении проекта, потому что Google отправляет диалоговое сообщение без xpath.

    @Test
public void testSeleniumTestNG() throws InterruptedException, ElementNotInteractableException, StaleElementReferenceException {
    driver.get("https://todo.ly/");
    // click en login
    driver.findElement(By.xpath("//*[@id=\"ctl00_MainContent_PanelNotAuth\"]/div[2]/div[1]/div[2]/a/img")).click();
    // ingresa el email
    driver.findElement(By.id("ctl00_MainContent_LoginControl1_TextBoxEmail")).sendKeys("some email");
    // ingresa la contraseña
    driver.findElement(By.id("ctl00_MainContent_LoginControl1_TextBoxPassword")).sendKeys("some password");
    // click en login
    driver.findElement(By.id("ctl00_MainContent_LoginControl1_ButtonLogin")).click();
    // click en nuevo proyecto
    //driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[6]/div")).click();
    // crea un proyecto
    // driver.findElement(By.id("NewProjNameInput")).sendKeys("project");
    // añade el nuevo proyecto
    // driver.findElement(By.id("NewProjNameButton")).click();
    // update un proyecto: ir al control
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[4]")).getLocation();
    // click en control
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[4]/div[2]/img")).click();
    //click en edit
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/ul[1]/li[1]")).click();
    //editar nombre
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[3]/div/input")).sendKeys("cambio");
    //guardar
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[3]/div/img[1]")).click();
    //eliminar un proyecto: ir al control
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[4]")).getLocation();
    // click en control
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[4]/div[2]/img")).click();
    //click en edit
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/ul[1]/li[1]")).click();
    //editar nombre
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[3]/div/input")).sendKeys("cambio");
    //borrar
    driver.findElement(By.xpath("/html/body/form/div[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[1]/div[4]/ul/li[3]/div/table/tbody/tr/td[3]/div/img[2]")).click();
    //
    Thread.sleep(2000);

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