Ich hatte die Möglichkeit, einen einfachen automatisierten Test für eine ältere Windows-App (Win32) mit Windows-Anwendungstreiber zu schreiben, und fasste den Aufbau und die Berührung der Umgebung zusammen. Ich werde. [^ 1]
Starten Sie vor dem Ausführen des Skripts zunächst Windows-Anwendungstreiber an der Eingabeaufforderung. Wenn es startet, geht es in einen Standby-Zustand.
c:\Program Files (x86)\Windows Application Driver>WinAppDriver.exe
Windows Application Driver listening for requests at: http://127.0.0.1:4723/
Press ENTER to exit.
Vorerst habe ich versucht, es zu verschieben und nach einem Beispiel gesucht, aber es funktioniert nur mit einer englischen Benutzeroberfläche: frowning2: Aus diesem Grund habe ich den Ablauf des Startens und Schließens des Notepads und des Speicherns geschrieben.
wda_test.py
import unittest
import os
import time
from appium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common import exceptions
save_file = "c:\\temp\\test.txt"
def remove_save_file():
if os.path.exists(save_file):
os.remove(save_file)
class WindowsApplicationDriverTests(unittest.TestCase):
@classmethod
def setUpClass(self):
remove_save_file()
desired_caps = {}
desired_caps["app"] = r"C:\Windows\System32\notepad.exe"
self.driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723',
desired_capabilities= desired_caps)
@classmethod
def tearDownClass(self):
remove_save_file()
self.driver.quit()
def test_edit_and_close_with_save(self):
#Zeichen eingeben
self.driver.find_element_by_class_name("Notepad").send_keys("abcdefg")
#Anweisungen zum Beenden des Notizblocks
self.driver.find_element_by_class_name("Notepad").send_keys(Keys.ALT, Keys.F4)
#Warten Sie, bis die Bestätigungsmeldung zum Speichern angezeigt wird, und klicken Sie auf die Schaltfläche Speichern
time.sleep(1)
self.driver.find_element_by_name("sparen(S)").send_keys(Keys.ENTER)
#Warten auf das Dialogfeld Speichern unter
time.sleep(3)
#Geben Sie den Dateinamen ein
self.driver.find_element_by_name("speichern als").send_keys(save_file)
#Drücken Sie die Speichertaste
self.driver.find_element_by_name("sparen(S)").send_keys(Keys.ENTER)
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(WindowsApplicationDriverTests)
unittest.TextTestRunner(verbosity=2).run(suite)
Bitte beachten Sie, dass der Vorgang möglicherweise nicht wie erwartet ausgeführt wird, es sei denn, Sie warten, bis die Meldung oder der Dialog angezeigt wird. Sie können sehen, dass Notepad automatisch ausgeführt wird, wenn Sie das Skript wie unten gezeigt ausführen.
python wad_test.py
[^ 1]: Als Ergebnis des Schreibens scheint es an der Referenzstelle zu enden: schwerwiegend:
Recommended Posts