def pytest_runtest_makereport(item): pytest_html = item.config.pluginmanager.getplugin('html') screen = SeleniumDriver(_driver) outcome = yield report = outcome.get_result() extra = getattr(report, 'extra', []) if report.when == 'call' or report.when == "setup": xfail = hasattr(report, 'wasxfail') if (report.skipped and xfail) or (report.failed and not xfail): # resultMessage # + "." + str(round(time.time() * 1000)) + ".png" file_name = str(round(time.time() * 1000)) + ".png" print("File Name :Link: " + file_name) # print("Path ::"+os.getcwd()) # srt1= os.getcwd().find() # print()os.getcwdb() # file_name = "screenshots"+os.sep+time.strftime("%Y%m%d%H%M%S",time.localtime(time.time()))+".png" screen.screenShot(file_name) # _capture_screenshot(file_name) if file_name: html = '<div><img src="%s" alt="screenshot" style="width:304px;height:228px;" ' \ 'onclick="window.open(this.src)" align="right"/></div>' % file_name extra.append(pytest_html.extras.html(html)) report.extra = extra
class HomePageTests(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self, oneTimeSetUp): self.hp = HomePage(self.driver) self.ts = TestStatus(self.driver) self.sd = SeleniumDriver(self.driver) @pytest.mark.run(order=1) def test_validload(self): result1 = self.hp.verifyHeaderPresent() assert result1 self.sd.screenShot(resultMessage='Header Present') time.sleep(10) self.hp.actionChainsMethodScrollBottomPage() result2 = self.hp.verifyFooterPresent() assert result2 self.sd.screenShot(resultMessage='Footer Present') self.ts.markFinal("test_validLoad", result1, "Header Successfully present") self.ts.markFinal("test_validLoad", result2, "Footer Successfully present") @pytest.mark.run(order=2) def test_verifyHeaderSearch(self): result3 = self.hp.verifyHeaderSearch() assert result3 self.sd.screenShot(resultMessage="Header Search Present") time.sleep(10) self.ts.markFinal("test_verifyHeaderSearch", result3, "Header Search Successfully present")