momentan bekomme ich bei einem Skript immer eine Fehlermeldung die ich nicht geknackt bekomme. Ich mache gerade ein Tutorial für Selenium mit Python und ein anderes Skript, das im Aufbau sehr ähnlich ist, funtioniert reibungslos. So wie ich das verstehe funktioniert das mit der tearDown Funktion nicht. Im anderen Skript sieht es exakt geich aus und funktioniert. Deswegen meine Ratlosigkeit. Bisherige Recherechen ergaben nix. Vielleicht erkenne ich das auch nur nicht, wei ich Python Newbie bin.
Fehlermeldung:
Code: Alles auswählen
C:\Robot\untitled\SeleniumProjektAbschnitt2\venv\Scripts\python.exe "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers\pycharm\_jb_unittest_runner.py" --target test_form1_selenium_kurs_firefox.testForm1SeleniumKursFirefox
Launching unittests with arguments python -m unittest test_form1_selenium_kurs_firefox.testForm1SeleniumKursFirefox in C:\Robot\untitled\SeleniumProjektAbschnitt2\tests
+++ Initialisierung WebDriver
+++ FIREFOX Start Login Test
+++ Ausgabe: Magazzini Alimentari Riuniti
+++ Vergleich OK
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers\pycharm\_jb_unittest_runner.py", line 35, in <module>
main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING)
File "C:\Python27\Lib\unittest\main.py", line 95, in __init__
self.runTests()
File "C:\Python27\Lib\unittest\main.py", line 232, in runTests
self.result = testRunner.run(self.test)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers\pycharm\teamcity\unittestpy.py", line 304, in run
return super(TeamcityTestRunner, self).run(test)
File "C:\Python27\Lib\unittest\runner.py", line 151, in run
test(result)
File "C:\Python27\Lib\unittest\suite.py", line 70, in __call__
return self.run(*args, **kwds)
File "C:\Python27\Lib\unittest\suite.py", line 108, in run
test(result)
File "C:\Python27\Lib\unittest\suite.py", line 70, in __call__
return self.run(*args, **kwds)
File "C:\Python27\Lib\unittest\suite.py", line 108, in run
test(result)
File "C:\Python27\Lib\unittest\case.py", line 393, in __call__
return self.run(*args, **kwds)
File "C:\Python27\Lib\unittest\case.py", line 370, in run
result.stopTest(self)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.3\helpers\pycharm\teamcity\unittestpy.py", line 260, in stopTest
output = sys.stdout.getvalue()
File "C:\Python27\Lib\StringIO.py", line 271, in getvalue
self.buf += ''.join(self.buflist)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 34: ordinal not in range(128)
Process finished with exit code 1
Code: Alles auswählen
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 34: ordinal not in range(128)
Code: Alles auswählen
# This Python file uses the following encoding: utf-8
import unittest
from selenium import webdriver
from pages.seleniumkurs_login_page import SeleniumKursLoginPage
from pages.selniumkurs_home_page import SeleniumKursHomePage
from pages.seleniumkurs_test_app_page import SeleniumKursTestAppPage
from pages.seleniumkurs_testform1_page import SeleniumKursTestForm1Page
class testForm1SeleniumKursFirefox(unittest.TestCase):
def setUp(self):
print("+++ Initialisierung WebDriver")
self.driver = webdriver.Firefox()
self.driver.maximize_window()
self.driver.get("https://externeTestseite.fuerSeleniummkursde")
def tearDown(self):
print("+++ tearDown nach jedem Test. Aufräumen.")
self.driver.close()
def test_login(self):
print("+++ FIREFOX Start Login Test")
## Arrange
# Login
loginPage = SeleniumKursLoginPage(self.driver)
loginPage.zugangsdaten_eingeben("derBenutzername", "dasPasswort")
loginPage.login_button_anklicken()
# Navigation durch das Portal
homePage = SeleniumKursHomePage(self.driver)
homePage.hauptmenu_aufrufen()
homePage.selenium_test_app_anklicken()
testAppPage = SeleniumKursTestAppPage(self.driver)
testAppPage.test_form1_anklicken()
# Starte Formular
testForm1Page = SeleniumKursTestForm1Page(self.driver)
testForm1Page.betreff_eingeben("Automatischer Test")
testForm1Page.name_eingeben("Dieter")
testForm1Page.kurs_auswaehlen("Java Grundlagen Kurs mit Dieter")
testForm1Page.fimra_in_box1_auswaehlen([2,4,6])
testForm1Page.firmen_uebernehmen()
testForm1Page.firma_in_box2_auswaehlen([2])
testForm1Page.ausgewaehlte_Firmen_nach_oben_verschieben()
## Act
testForm1Page.formular_speichern()
## Assert
erfolgsmeldung = testForm1Page.statusmeldung_auslesen()
self.assertTrue("Java Grundlagen Kurs mit Dieter" in erfolgsmeldung)
erstesElement = testForm1Page.erstes_listenelement_auslesen()
print("+++ Ausgabe: " + erstesElement)
self.assertEqual(erstesElement,"Magazzini Alimentari Riuniti")
print("+++ Vergleich OK")
if __name__ == '__main__':
unittest.main()
Vielen Dank und beste Grüße