CodeceptJs - получение списка элементов и проверка атрибутов элементов - PullRequest
0 голосов
/ 08 октября 2019

Я QA Automation с более чем 7-летним опытом работы в C # + Nunit + Webdriver. Теперь я должен переключиться на CodeceptJS и не могу найти, как сделать некоторые общие действия, используя эту платформу. Пожалуйста, помогите мне со следующими вопросами:

  1. Как я могу получить список элементов и получить некоторый атрибут определенного элемента в этом списке. В C # это будет примерно так:

    var list = driver.FindElements(By.Xpath("*//xpath"));
    
  2. Как проверить, есть ли у элемента какой-либо атрибут в обычаях или объекте страницы?

    module.exports = {
     MyElemThatIsNotAlwaysVisible_Likesubmenu: { id: "submenu" },
     MyElementThatIsAlwaysVisible_Likemuenu : {id: "menu"}
    
     function_click_onelement_that_notalwaysvisible () 
     {
       //here I want to check 
       if(MyElementThatIsAlwaysVisible.getattribute("class").contains("not-active"))
       {
          MyElementThatIsAlwaysVisible_Likemuenu.click();
          wait.until (MyElemThatIsNotAlwaysVisible_Likesubmenu.Displayed)
       }
       MyElemThatIsNotAlwaysVisible_Likesubmenu.Click();
     }
    }
    

1 Ответ

0 голосов
/ 22 октября 2019
  1. Если вы хотите получить и сделать что-то еще со списком, вы можете использовать:

await I.grabAttributeFrom('//img', 'src');

Если xPath соответствует более чем одному элементу, методвозвращает массив. Ссылка на документацию: здесь .


Если вам нужно проверить только, что атрибут существует, вы можете использовать:

I.seeAttributesOnElements('//form', { method: "post"});

, как указано в здесь в документации.

...