Ich habe mehrere Testklassen und eine Basistest-Klasse in Python. Testklassen erbt von der Basistestklasse.Wie man die Konfigurationsdatei als eine Eingabe liest, wenn der Python-Code von der Befehlszeile aus ausgeführt wird
Ich möchte die Testklasse von der Kommandozeile ausführen und es benötigt einige Eingabeparameter, diese Eingabeparameter sollten in einer Konfigurationsdatei gespeichert werden. Diese Konfigurationsdatei kann als Eingabe von der Befehlszeile bereitgestellt werden.
Wie kann ich dies erreichen, um es über die Befehlszeile bereitzustellen und dann die Konfigurationsdatei analysieren. Ich muss in der Basistest-Klasse parsen, da dies für alle Testklassen verwendet wird.
Test-Klasse: Sie können den Inhalt ignorieren, wenn sie, wie es nur eine Beispielklasse
from selenium import webdriver
import unittest
class TestCase():
def setUp(self):
super().setUp()
def test(self):
baseUrl = "https://www.google.com"
driver = webdriver.Firefox()
driver.get(baseUrl)
elementByXpath = driver.find_element_by_xpath("//input[@id='name']")
if elementByXpath is not None:
print("We found an element by XPATH")
if __name__ == '__main__':
unittest.main(verbosity=2)
result = unittest.TestResult()
BaseTestCase ist nicht viel Sinn machen:
class BaseTestCase():
def __init__(self):
pass
def setUp(self):
# In the setup() or __init__(), config file should be parsed
self.login.login("admin", "admin")
def tearDown(self):
self.log.info("Driver quit, session closed")
Die Datei, die aus laufen wird Die Befehlszeile wird die Testklasse sein. Etwas wie dieses: python testcase.py --configfile
Ich bin ziemlich neu zu Python, jede Hilfe in diesem wird sehr geschätzt.
Ich habe früher mit Java und TestNG gearbeitet, wo es wirklich einfach ist. Wir können beliebige Konfigurationen in der TestNG XML-Datei selbst bereitstellen.
Ich benutze Unittest von Python, jeder Vorschlag, welcher Rahmen besser als Unittest sein kann, wird auch toll sein.
Dies ist für ein GUI Test Framework und ich muss Tests auf verschiedenen Browsern und Plattform ausführen.
Verwenden Sie eine ‚ConfigParser‘ eine Konfigurationsdatei zu analysieren.Verwenden Sie für mehrere Browser und Plattformen entweder BrowserStack oder weisen Sie Workern manuell eine Jenkins-Instanz zu. – Abhinav
Wenn Sie mehr Informationen über das, was Sie analysieren möchten, bereitstellen, würden Sie sicher die richtige Antwort erhalten. – Abhinav
@ a_bhi_9 Ich muss die Werte in der Konfigurationsdatei analysieren und sie dann zur Basis-Testklasse liefern, die Werte wären Browsername, Betriebssystemname oder alles, was ich nur in der Basis-Testklasse Browser-Stack und Jenkins verwenden möchte kann nichts machen, wenn der Code nicht weiß, welchen Browser er aufrufen soll. –