Я хочу преобразовать обычный Java-скрипт Selenium Webdriver в скрипт студии Katalon

Ниже приведен код для того же, Ниже код работает нормально в среде с открытым исходным кодом selenium webdriver. Я хочу использовать тот же код в студии Katalon

@Test (priority = 6, description = "Update Profile name") public void UpdateProfileChrome () выдает исключение {

     WebElement root1 = driver.findElement(pageObjects.ndBrandBar);
     //Get root of nd-brand-bar        
     WebElement shadowRoot1 = expandRootElement(root1); 
     //Get Alerts 
     WebElement root2 = shadowRoot1.findElement(pageObjects.profileButton);
     root2.click();

     //Get User first Name input box
     WebElement profileDrawer =  shadowRoot1.findElement(pageObjects.userProfileDrawer);
     //Get root of profileDrawer
     WebElement profileDrawerRoot = expandRootElement(profileDrawer); 
     WebElement  firstNameWrapper = profileDrawerRoot.findElement(pageObjects.firstnameTextBox);
     //Get root of firstNameWrapper
     WebElement firstNameRoot = expandRootElement(firstNameWrapper); 
     WebElement inputText = firstNameRoot.findElement(pageObjects.inputTextFirstName);
     //Get root of inputText 
     WebElement inputTextBox = expandRootElement(inputText);
     WebElement EnterText = inputText.findElement(pageObjects.enterNameText);
     EnterText.clear();
     Random rand = new Random(); 
     int value = rand.nextInt(50); 
     EnterText.sendKeys("TestA"+value);
     WebElement saveButton = profileDrawerRoot.findElement(pageObjects.saveButton);
     saveButton.click();
     WebElement successMessage  = shadowRoot1.findElement(pageObjects.successMessage);
     WebDriverWait wait = new WebDriverWait(driver,pageObjects.angularSync);
     List<WebElement> success = null ;
     success = wait.until(ExpectedConditions.visibilityOfAllElements(successMessage)); 
     Assert.assertFalse(success.equals(null));
     driver.quit();     

}

//Java Script executer to locate element under shadow root
    public WebElement expandRootElement(WebElement element) {
    WebElement ele = (WebElement) ((JavascriptExecutor) driver).executeScript("return arguments[0].shadowRoot",element);
    return ele;
}

person Abbas ALI    schedule 12.07.2018    source источник


Ответы (1)


Вы не можете конвертировать его напрямую / автоматически. Katalon Studio имеет разные встроенные методы, и объекты пользовательского интерфейса хранятся по-разному. Вам следует провести рефакторинг вашего кода.

person plaidshirt    schedule 28.08.2018