1

Ich habe eine Liste von Selen-Skripten und ich möchte sie testen, um zu sehen, ob sie richtig funktionieren Ie 1.py, 2.py, 3.py, 4.py, 5.py im Ordner C : Selen-Skripte.Automatisieren von Tests Aufruf von anderen Skripten

Offensichtlich würde ich lieber nicht dort sitzen und zusehen müssen, da ich ziemlich sicher bin, dass sie arbeiten, aber ich will sicher sein. Wie gehe ich vor, um meine Tests zu automatisieren?

Ich bin mir der Frameworks obwohl ein einfacher Ansatz, glaube ich, würde jedes Skript zu einem anderen In Python aufrufen. Wenn jedoch einer wegen eines Fehlers gestoppt wurde, würde dies nicht funktionieren. Ich nehme an, Sie könnten einen Versuch und Ausnahme Block (nicht sicher, ob dies eine gute Praxis ist, aber es würde vielleicht funktionieren).

Idealerweise würde ich sie alle gleichzeitig ausführen, aber Multithreading wird in Selenium nicht unterstützt, damit Sie keine Probleme erzeugen.

Wie kann ich automatisierte Tests effektiv ausführen?

Sie könnten cxfreeze verwenden und jedes Skript aufrufen, aber es ist nicht wirklich bekannt, wenn sie fertig sind oder wenn sie fertig sind und Fehler erzeugen, dann werden die anderen Jobs nicht ausgeführt.

Aufruf ein anderes Skript z:

1_module.py

def main(): 
    from selenium import webdriver 
    from selenium.common.exceptions import TimeoutException 
    from selenium.webdriver.chrome.options import Options 
    import os 
    import sys 
    import os 
    driver = webdriver.Chrome(chromedriver_path) 
    driver.get("https://stackoverflow.com") 
    import 2.2_module 
     2.2_module.do_something_in_2() 


if __name__ == '__main__': 
    main() 

2_module.py

import selenium 
print('testing...actions..') 
+0

Haben Sie Unit-Tests dafür verwendet? Könnten Sie uns ein Beispiel für eine Ihrer Dateien zeigen, um zu sehen, was Sie tun? – Goralight

+0

@Goralight Ich bin noch sehr neu in Python. Ich habe ein Beispiel gezeigt, das nicht funktioniert. Vielleicht ist diese Methode, die es repariert oder Multithreading-Framework verwendet, weit weg. –

+0

Unit Test Modul + Subprozess Modul –

Antwort

0

Sie müssen im Grunde nur ein Testläufer mit automatischer Test Entdeckung. Obwohl das integrierte Standardmodul unittest über diese Funktionen verfügt, würde ich empfehlen, einen Blick auf pytest test runner zu werfen.

+0

Können Sie ein Beispiel zeigen? –

+0

@geeg Wenn Sie Tests haben, die der [Pytest-Erkennungslogik] (https://docs.pytest.org/en/latest/example/pythoncollection.html) entsprechen, werden sie automatisch automatisch erkannt und ausgeführt. – alecxe

0

Sie können Selenium Grid verwenden, um Ihre automatisierten Tests parallel auszuführen (ohne Multithreading zu verwenden). Es wird Ihre Zeit sparen.

Verwandte Themen