Перейти к содержимому

MissLeman

Регистрация: 08 апр 2012
Offline Активность: 02 ноя 2020 15:35
-----

Мои темы

Как проверить правильность генерируемого страницей html

25 апреля 2019 - 13:31

Здравствуйте. Автотесты UI на протракторе.

 

Кейс: наше приложение генерирует формочку (iframe), код пользователи могут скопировать и вставить на свой сайт.

 

Хочу автотест, который получал бы от приложения html этой формочки, вставлял на какую-то базовую страницу, заходил на нее и проверял, что форма работает.

 

Вопрос: вот получила я от приложения свой iframe, смастерила строку с какой-то базовой страничкой, типа такой:

<html>
    <head>
        <title>Embedded Form</title>
    </head>
    <body>
        <iframe src="..." width="600" height="600"></iframe>
    </body>
</html>

Как дальше заставить Трактор открыть этот html в браузере и проделать какие-то действия с формой, которая окажется на получившейся странице (отправить данные и т.п.)?


Письмо Деду Морозу от тестировщика

30 декабря 2018 - 09:51

Что бы вы, как тестировщик, попросили у Деда Мороза?

(вот я например)

 

Дорогой Дедушка Мороз,

 

пожалуйста, сделай так, чтобы я больше никогда не видела экспектов, запрятанных в методы страниц; объявления элементов через локаторы каждый раз заново в каждом тесте (или каждом методе); удаленных втихушку багов ("Мы решили, что не будем это фиксить" - "А почему?" - "Ммм да фиг знает, сто лет прошло, уже и не помню").

 

А еще, если можно, чтобы браузер Safari взял да исчез бесследно.


Специфика React/Redux

05 декабря 2018 - 13:10

Есть ли какие-то проверки, специфичные для страниц на сабже?
Какие-то особенные иньекции, проверки для GUI и прочее, отличающиеся от "обычных" веб-страниц.


[Protractor] Условие по isPresent() в цикле

03 октября 2018 - 16:31

Привет, 

 

у меня есть фрагмент функции, который перекладывает элементы из двух массивов в два других массива на основе того, присутствуют ли эти элементы (controlsOnAC) в данный момент на странице. Ниже потом с массивом именно отсутствующих элементов дальнейшие действия производятся (если надо, я могу объяснить, почему так, но это долго и запутанно). 

 

//действия по получению массивов allСontrolsToEnable и allControlsToCheck 
//до этого места все работает правильно - массивы содержат нужные элементы 

let elementsToEnable = [];
let elementsToWait = [];

for (let counter = 0; counter < allControlsToCheck.length; counter++){
          controlsOnAC[counter].isPresent().then(function (result) {

                  if (!result) {
                            elementsToEnable.push(allСontrolsToEnable[counter]);
                            elementsToWait.push(allControlsToCheck[counter]);
                            console.log("element in elementsToEnable " + counter + " " + elementsToEnable[counter].locator().toString());
                            console.log("element in elementsToWait " + counter + " " + elementsToWait[counter].locator().toString());
                  }
           });
} 

//some actions
console.log("HERE SHOULD BE FULL ARRAY LENGTH = " + elementsToEnable.length);
console.log("HERE SHOULD BE FULL ARRAY LENGTH = " + elementsToWait.length)

 

После этой функции там происходят примерно такие действия: нажать на UI кнопочку, в открывшейся панельке прокликать элементы из массива elementsToEnable, дождавшись появления на UI элементов из elementsToWait, закрыть панельку. 

 

И вот в эти дальнейшие действия массивы elementsToEnable и elementsToWait передаются пустыми, а сообщеньки про длину (которые капслоком) в консоли отображаются перед теми, что внутри цикла (но они потом выводят верное содержимое новых массивов), т.е. получается как-то так, что сперва проделываются все остальные действия, а уж потом программа идет в этот цикл (или в этот промис). 

 

Подскажите, пожалуйста, как написать правильно, у меня видимо какой-то пробел насчет промисов здесь :( 


API и UI в одном флаконе

20 августа 2018 - 07:33

Как правильно написать автоматизированный тест, где одновременно есть действия на UI и запросы через API? Можно ли задействовать в одном проекте, скажем, Frisby и Protractor? Не будет ли это монстр.

 

(пример теста - в браузере открываем УРЛ, пользователю отображается окно "Вы согласны предоставить приложению такому-то доступ к таким-то данным?", пользователь жмет "Согласен", дальше в УРЛ получаем авторизационный код, с его помощью access token (через oauth api), а затем с токеном через рест апи проверяем выполнение каких-то действий. но это не единственный тест, где требуется сочетание действий апи и ui).