Привет.
Есть у вэбдрайвера такой метод, как browser.save_screenshot('screenie.png')
Внимание, вопрос! Как заставить его делать скриншот при ЛЮБОМ эксепшене?
Привет.
Есть у вэбдрайвера такой метод, как browser.save_screenshot('screenie.png')
Внимание, вопрос! Как заставить его делать скриншот при ЛЮБОМ эксепшене?
Может стоит ручками прописывать все возможные экскпшены ?
знаю как сделать при ТС фейл - нужно сделай свой листенер:
public class MyListener extends TestListenerAdapter {
@Override
public void onTestFailure(ITestResult tr) {
blablabla....
}
}
Далее подключать где нужно...
а с помощью какого python фреймворка вы запускаете ваши тесты?
да, для Java и TestNG это подходит отлично, а вот для Python не сильно :)
например, если использовать py.test, то нужно работать с хуками
http://pytest.org/latest/plugins.html#generic-runtest-hooks
и классом TestReport
http://pytest.org/latest/plugins.html#_pytest.runner.TestReport
Вот именно с пай.тест и работаю. Спасибо, будем читать
плюс забыл еще добавить что есть такой класс AbstractEventListener, который можно перегрузить метод on_exception, что наверное более правильнее и проще :)
| class AbstractEventListener(object): |
| """ |
| Event listener must subclass and implement this fully or partially |
| """ |
| def on_exception(self, exception, driver): pass |
Например, вот как это можно использовать
| from selenium.webdriver import Firefox |
| from selenium.webdriver.support.events import EventFiringWebDriver, AbstractEventListener |
| class MyListener(AbstractEventListener): |
| def before_navigate_to(self, url, driver): |
| print "Before navigate to %s" % url |
| def after_navigate_to(self, url, driver): |
| print "After navigate to %s" % url |
| driver = Firefox() |
| ef_driver = EventFiringWebDriver(driver, MyListener()) |
| ef_driver.get("http://www.google.co.in/") |