New question #644558 on Sikuli:
https://answers.launchpad.net/sikuli/+question/644558
I´m using HTML Test Runner to generate reports for my executions.
I have modified the original file HTMLTestRunner.py to include screenshots for
all status (Error, Failures and Pass) and it does work, however for Passed
executions the screenshot is taken only after the TearDown is executed, (which
makes the screenshot being taken of the browser a moment before the logout for
my code). When the test fail,s the screenshot is taken correctly.
I have tried to include some sleeps to check if the issue was with the
execution speed, but it didnt help, even with a sleep (30) the issue stayed the
same. I have also tried to delete the TearDown and include the logout logic in
my test, after the assert, but the screenshot taken was after the logout
process.
This is a piece of my code:
class PerfilAcesso(unittest.TestCase):
def setUp(self):
App.open("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
def test_visualiza_perfil_admin(self):
click("1496165464521.png")
paste("login")
type(Key.TAB)
#click("1496165521309.png")
paste("password")
click("1496165601742.png")
sleep(5)
click("1496165658452.png")
sleep(2)
assert exists("1498077813353.png")
def tearDown(self):
sleep(2)
click("1498079107968.png")
sleep(1)
type(Key.F4, KeyModifier.ALT)
suite = unittest.TestLoader().loadTestsFromTestCase(PerfilAcesso)
outfile = open("C:\\EvidenciaTeste2\\OR-3130-teste.html", "w") # path to report
folder
screenshotfile = "C:\\EvidenciaTeste2"
runner = HTMLTestRunner.HTMLTestRunner(stream=outfile, title='OR-3130',
description='...',dirTestScreenshots=screenshotfile)
runner.run(suite)
This is how the HTMLTestRunner.py looks:
def addSuccess(self, test):
self.success_count += 1
TestResult.addSuccess(self, test)
output = self.complete_output()
self.result.append((0, test, output, '',
self.generateTestScreenshot(test)))
if self.verbosity > 1:
sys.stderr.write('ok ')
sys.stderr.write(str(test))
sys.stderr.write('\n')
else:
sys.stderr.write('P')
def addError(self, test, err):
self.error_count += 1
TestResult.addError(self, test, err)
_, _exc_str = self.errors[-1]
output = self.complete_output()
self.result.append((2, test, output, _exc_str,
self.generateTestScreenshot(test)))
if self.verbosity > 1:
sys.stderr.write('E ')
sys.stderr.write(str(test))
sys.stderr.write('\n')
else:
sys.stderr.write('E')
def addFailure(self, test, err):
self.failure_count += 1
TestResult.addFailure(self, test, err)
_, _exc_str = self.failures[-1]
output = self.complete_output()
self.result.append((1, test, output, _exc_str,
self.generateTestScreenshot(test))) # modified by RaiMan
if self.verbosity > 1:
sys.stderr.write('F ')
sys.stderr.write(str(test))
sys.stderr.write('\n')
else:
sys.stderr.write('F')
Can someone help me to understand this behaviour?
Thanks,
--
You received this question notification because your team Sikuli Drivers
is an answer contact for Sikuli.
_______________________________________________
Mailing list: https://launchpad.net/~sikuli-driver
Post to : [email protected]
Unsubscribe : https://launchpad.net/~sikuli-driver
More help : https://help.launchpad.net/ListHelp