Как устранить ошибку: элемент Cannot Focus - управляемый ключевыми словами фреймворк в Selenium - PullRequest
0 голосов
/ 13 июня 2018

Я использую фреймворк, управляемый по ключевым словам, для автоматизации страницы входа на один из сайтов.здесь я использовал Poi для доступа к данным листа Excel.

Здесь ниже методы openBrowser () и openUrl () работают нормально.Возникла проблема с методом username () для доступа к полю имени пользователя.Я использую Selenium 3.12 и Chrome версии 2.39, совместимые с Chorme

Вот мой код:

public class ActionKeywords {
    public static WebDriver driver;
    public static void openBrowser(){       
        System.setProperty("webdriver.chrome.driver","E:\\Pratik_BackUP\\Automation Selenium\\Drivers\\chromedriver.exe");
         driver = new ChromeDriver();
         System.out.println("open Browser called");

        }

    public static void openUrl(){
          driver.manage().timeouts().implicitlyWait(100,TimeUnit.SECONDS);
          driver.get("correct url");
          driver.manage().window().maximize();

          System.out.println("open Url called");
        }

    public static void userName(){


        driver.findElement(By.xpath(".//*[@id='ctl00_ContentPlaceHolder1_login1_pan']/div/table/tbody/tr[3]/td[1]")).sendKeys("admin");
        System.out.println("user Name called");
    }

    public static void password(){
        driver.findElement(By.xpath(".//*[@id='ctl00_ContentPlaceHolder1_login1_pan']/div/table/tbody/tr[4]/td[1]")).sendKeys("Camlin@357");
        System.out.println("password called");  
    }

    public static void click_Login(){
        driver.findElement(By.xpath(".//*[@id='ctl00_ContentPlaceHolder1_login1_LoginButton']")).click();
        System.out.println("LogIn called"); 
    }
    public static void waitFor() throws Exception{
        Thread.sleep(5000);
        }
    public static void closeBrowser(){
            driver.quit();
            System.out.println("close Browser called.");
        }

}

enter image description here

1 Ответ

0 голосов
/ 13 июня 2018

Спасибо !!

public static void userName(){
    WebElement exelement = driver.findElement(By.xpath(".//*[@id='ctl00_ContentPlaceHolder1_login1_UserName']"));
    exelement.clear();
    Actions actions = new Actions(driver);
    actions.moveToElement(exelement);
    actions.click();
    actions.sendKeys("admin");
    actions.build().perform();

}

Над кодом работает нормально.Здесь использовали класс Actions для решения Класс действий

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