У меня есть фреймворные тесты робота, которые автоматизируются в трубопроводе Gitlab в среде Docker (Apache + Robot Framework полностью работает на бегуне Gitlab) < /p>
Проблема в том, что регулярно, тесты не сбои Поскольку события JS еще не полностью применены при нажатии кнопки. 'T Измените приложение для применения событий как можно скорее, и в любом случае некоторые находятся во внешних библиотеках. Я отчаиваюсь, чтобы сделать эти тесты надежными.
blah
Click me 1
Click me 2
$(document).ready(function(){
$('#button1').click(function() {
setTimeout(function(){
$('#button2').click(function() {
$('#result').text('Button 2 clicked');
});
}, 500)
});
});
< /code>
И вот пример RF -теста для воспроизведения проблемы. Я добавил кучу идентичных тестовых случаев и запустил их параллельно с Pabot. Это дает мне случайные сбои.*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
test 0
test click button with timeout
test 2
test click button with timeout
test 3
test click button with timeout
# .....
*** Keywords ***
test click button with timeout
Open Browser about:blank headlessfirefox
Go To http://myapp-apache-1/test.html
Click Element id=button1
Click Element id=button2
Wait Until Element Is Visible //*[text()[contains(normalize-space(), "Button 2 clicked")]]
< /code>
Есть идеи? Или я должен прибегнуть к тому, чтобы поспать повсюду ...
Я попробовал кучу различных решений ожидания, найденных здесь и в других местах, но не нашел ничего, что работает.
Подробнее здесь: https://stackoverflow.com/questions/794 ... be-applied