Привет.
Есть у вэбдрайвера такой метод, как 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/") |