J'ai eu l'occasion d'écrire un test automatisé simple pour une application Windows héritée (Win32) à l'aide de Windows Application Driver, j'ai donc résumé la construction de l'environnement et le toucher. Je vais. [^ 1]
Tout d'abord, avant d'exécuter le script, démarrez Windows Application Driver à partir de l'invite de commande. Lorsqu'il démarre, il passe en état de veille.
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.
Pour le moment, j'ai essayé de le déplacer et j'ai cherché un échantillon, mais cela ne fonctionne qu'avec une interface utilisateur anglaise: frowning2: Pour cette raison, j'ai écrit le flux de démarrage et de fermeture du Bloc-notes et de son enregistrement.
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):
#Saisie de caractères
self.driver.find_element_by_class_name("Notepad").send_keys("abcdefg")
#Instructions de sortie du bloc-notes
self.driver.find_element_by_class_name("Notepad").send_keys(Keys.ALT, Keys.F4)
#Attendez que le message de confirmation d'enregistrement s'affiche et appuyez sur le bouton Enregistrer
time.sleep(1)
self.driver.find_element_by_name("enregistrer(S)").send_keys(Keys.ENTER)
#En attente de l'affichage de la boîte de dialogue Enregistrer sous
time.sleep(3)
#Entrez le nom du fichier
self.driver.find_element_by_name("enregistrer sous").send_keys(save_file)
#Appuyez sur le bouton Enregistrer
self.driver.find_element_by_name("sauvegarder(S)").send_keys(Keys.ENTER)
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(WindowsApplicationDriverTests)
unittest.TextTestRunner(verbosity=2).run(suite)
Veuillez noter que l'opération peut ne pas être effectuée comme prévu à moins que vous n'attendiez que le message ou la boîte de dialogue s'affiche. Vous pouvez voir que le Bloc-notes s'exécute automatiquement lorsque vous exécutez le script comme indiqué ci-dessous.
python wad_test.py
[^ 1]: Suite à l'écriture, il semble qu'elle se soit terminée sur le site de référence: sévère:
Recommended Posts