Есть ли какой-нибудь безголовый браузер для дротика? Или обертка для чего-то вроде селена? Моя цель - использовать браузер для автоматического тестирования конечных пользователей для веб-сайта, который я написал много лет назад. Теперь мне нужно сделать несколько изменений на сайте. Поскольку он содержит определенную бизнес-логику, я бы хотел написать несколько быстрых тестов для сайта без рефакторинга или модификации его для модульных тестов, прежде чем я сделаю эти изменения.
Кажется, что это забавное введение, чтобы лучше познакомиться с экосистемой дротика.
Спасибо заранее!Как сделать автоматическое тестирование браузера с помощью Dart?
ответ
content-shell
является безголовым браузером с поддержкой Дарта как Dartium (https://www.dartlang.org/install/mac)
и https://pub.dartlang.org/packages/webdriver могут быть использованы для тестирования Selenium.
Подложка без хромирования для работы с хромом. Когда Dartium будет модернизирован, чтобы использовать эту версию Chromium, Dartium должен иметь возможность работать без головы.
Команда Dart работает над инкрементной компиляцией JS (компилятор DDC - Dart development), который должен позволить использовать Chrome в качестве браузера разработки. Безголовый режим (когда доступен) можно использовать напрямую.
Вы можете использовать Chrome или Dartium и водить его с ChromeDriver и webdriver package
Вот краткий пример:
import 'dart:convert';
import 'dart:io';
import 'package:webdriver/io.dart';
main() async {
// Start the ChromeDriver process
Process chromeDriverProcess = await Process
.start('chromedriver', ['--port=4444', '--url-base=wd/hub']);
await for (String browserOut in const LineSplitter()
.bind(UTF8.decoder.bind(chromeDriverProcess.stdout))) {
if (browserOut.contains('Starting ChromeDriver')) {
break;
}
}
// Connect to it with the webdriver package
WebDriver driver = await createDriver(
uri: Uri.parse('http://localhost:4444/wd/hub/'),
desired: Capabilities.chrome);
// Go to your page
await driver.get('http://stackoverflow.com');
//TODO: write your tests
print(await driver.execute('return navigator.userAgent', []));
// Take a simple screenshot
String screenshot = await driver.captureScreenshotAsBase64();
new File('stackoverflow.png').writeAsBytesSync(BASE64.decode(screenshot));
driver.quit();
chromeDriverProcess.kill();
}
Это не совсем «без головы», но это легко сделать его работу на сервере, таком как Travis-CI, с этой конфигурацией:
before_install:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- 1. Как сделать автоматическое тестирование с помощью динамически созданных элементов управления?
- 2. Как сделать автоматическое тестирование форм с помощью captcha?
- 3. Автоматическое тестирование с помощью PHP
- 4. Автоматическое тестирование устройства с помощью CodeIgniter
- 5. Тестирование производительности в Dart
- 6. Как начать автоматическое тестирование?
- 7. Автоматическое тестирование совместимости кросс-браузера с использованием разницы изображений
- 8. Автоматическое тестирование Calabash с помощью Paypal
- 9. Автоматическое тестирование с помощью WinForms и NUnit
- 10. Тестирование обертки API Dart
- 11. Автоматическое тестирование приложения webrtc?
- 12. Тестирование dart ajax HttpRequest
- 13. Как сделать автоматическое масштабирование с помощью jquery
- 14. Как выполнить автоматическое тестирование браузера с помощью Node.js и двухсторонней ssl?
- 15. Стресс-тестирование с помощью моделирования поведения браузера
- 16. Cross тестирование браузера с помощью TestNG
- 17. Тестирование без браузера с помощью прототипа
- 18. Тестирование модулей, упакованных с помощью браузера?
- 19. Автоматическое тестирование ApiController
- 20. Jubula Автоматическое тестирование функций?
- 21. Автоматическое тестирование segues
- 22. Автоматическое тестирование веб-страницы
- 23. Автоматическое тестирование с использованием java.util
- 24. Как запустить автоматическое тестирование с помощью css Selector Appium java
- 25. Автоматическое тестирование задержки DPC - как?
- 26. Автоматическое тестирование мастера InstallAnywhere
- 27. Автоматическое определение районов от WWW-браузера и тестирование с помощью огурца
- 28. Автоматическое тестирование веб-проектов
- 29. автоматическое тестирование, поведение с mysql
- 30. Автоматическое тестирование оркестровки
Подсказка, для чего нужен нижний предел. –
Хотелось бы услышать и о нисходящем. Однако у меня есть вопрос об этом подходе. Правильно ли я понимаю, что для использования тестов webdriver мне все еще нужно манипулировать index.html, чтобы включить тесты дротика, как описано здесь (https://gist.github.com/damondouglas/5972747), или есть способ для запуска тестов без изменения разметки? –
Это не тесты webdriver. Для webdriver вам не нужно изменять приложение, просто загрузите его. –