selenium IDE не удаляет атрибут «только для чтения»

#javascript #magento #selenium-ide

#javascript #magento #selenium-ide

Вопрос:

Я использовал дополнение Selenium IDE для firefox для создания набора тестов, и на одном из сайтов, с которыми я работал, есть выбор календаря для даты заказа. Бывают времена дня, когда это будет работать не совсем так, как задумано, поэтому, чтобы разрешить выполнение этого теста, я собирался настроить скрипт на удаление атрибута readme текстового поля для календаря (поскольку он не позволяет мне вводить его иначе) и продолжить.

В firebug этот скрипт, разбитый на две части, работает отлично

 var x = document.getElementsByClassName("datetime-picker")[0];
x.removeAttribute("readonly");
  

Тем не менее, когда я устанавливаю два runScripts, используя одни и те же строки, он не хочет работать.

у кого-нибудь есть идеи, почему?

Ответ №1:

каждый скрипт независим от другого и не будет сохранять никаких переменных, если они не будут сохранены как переменная Selenium (в настоящее время JavaScript). Вы не сможете сохранить x в Selenium, поскольку Selenium не будет знать, что это за объект, поэтому просто объедините их:

 <tr>
    <td>runScript</td>
    <td>document.getElementsByClassName("datetime-picker")[0];x.removeAttribute("readonly");</td>
    <td></td>
</tr>