def stopTestApp():
    print('Stop TestApp VPN...')
    
    dlg = Desktop(backend="uia").HydraTestAppShell
    # C:\Program Files (x86)\Hydra Test Application>taskkill /im "TestApp.exe" /f
    dlg.child_window(auto_id='DisconnectVpnBtn', control_type="Button").click()
    time.sleep(10)
class Win10CalcTest:

    app = None
    dlg = None

    def __init__(self):
        self.app = Application(backend="uia").start('calc.exe')
        self.dlg = Desktop(backend="uia").Calculator

    def keyboard_input(self, input_string):
        self.dlg.type_keys(input_string)

    def validate_result(self, expected_string):
        result = self.dlg.child_window(auto_id="CalculatorResults").texts()[0]
        if str(result) == 'Display is ' + expected_string:
            print(f"Result {result} is the expected one!")
        else:
            raise AssertionError(f"Result {result} is different than expected {expected_string}")

    def press_buttons(self, button_name):
        button = self.dlg.child_window(auto_id=button_name+'Button')
        button.click()

    def close_calculator(self):
        close_button = self.dlg.child_window(auto_id='Close')
        close_button.click()
        self.dlg.close()

    def verify_calculator_is_opened(self, expected):
        try:
            if expected:
                return self.dlg.child_window(auto_id="CalculatorResults").wait('visible', 5)
            else:
                return self.dlg.child_window(auto_id="CalculatorResults").wait_not('visible', 5)
        except ElementNotFoundError:
            if expected:
                return False
            else:
                return True
# Nicholas DeMello
# WhatsApp Spam Bot

from pywinauto import Desktop

WhatsApp = Desktop(backend='uia').WhatsApp
#WhatsApp.print_control_identifiers()		# Find appropriate child_window
target = WhatsApp.child_window(title_re="Nikita")  # Use contact's name
target_wrp = target.wrapper_object()

msg_wrp = WhatsApp.child_window(title="Type a message ",
                                control_type="Group").wrapper_object()

target_wrp.click_input()
for x in range(100):
    WhatsApp.type_keys("Check out my spam bot..{}".format(x))
    WhatsApp.type_keys('{ENTER}')
def startTestApp():
    print('Start TestApp VPN...')
    # app_name = 'HydraTestAppShell'
    backend_url = 'https://api-prod-partner-us-west-2.northghost.com/'
    carrier_id = 'kasperskylab'
    node_ip = '185.209.178.61'

    app = Application(backend="uia").start('TestApp.exe')
    dlg = Desktop(backend="uia").HydraTestAppShell

    # select backend URL
    dlg.child_window(auto_id='BackURL', control_type="ComboBox").select(backend_url)
    # select Carrier ID
    dlg.child_window(auto_id='CarrierId', control_type="ComboBox").select(carrier_id)
    # Login
    dlg.child_window(auto_id='LoginBtn', control_type="Button").click()

    # checking the Login state
    state = dlg.child_window(auto_id='LoginState', control_type="Edit").texts()
    print(state[0])
    
    dlg.child_window(auto_id='CredentialBtn', control_type="Button").click()
    for i in range(5):  # delete all 5 received server's ip
        if dlg.child_window(best_match='REMOVE'+str(i), control_type="Button").exists():
            dlg.child_window(best_match='REMOVE'+str(i), control_type="Button").click()
        # add new server IP address
    dlg.child_window(best_match='Add server', control_type="Button").click()
    dlg.child_window(auto_id='ProviderServerTextBox', control_type="Edit").set_text(node_ip)
    # applying new ip
    dlg.child_window(auto_id='ApplyCredentialBtn', control_type="Button").click()
    # CONNECT 
    dlg.child_window(auto_id='ConnectVpnBtn', control_type="Button").click()
    #check VPN State 
    time.sleep(5)
    state_vpn = dlg.child_window(auto_id='VpnConnectState', control_type="Text").texts()
    print(state_vpn[0])
    # check if IP address is changed correctly
    dlg.child_window(auto_id='IPApiBtn', control_type="Button").click()
    # checking the VL IP address
    time.sleep(5)
    my_ip = dlg.child_window(auto_id='addressLbl', control_type="Edit").texts()
    print(my_ip)
    return my_ip
Beispiel #5
0
from pywinauto import Desktop, mouse

notifyWindow = Desktop(backend="uia").window(title_re='New notification')
notifyWindow.wait('visible', timeout=20)
print(notifyWindow.print_control_identifiers())
mailNotification = notifyWindow.child_window(
    title_re='New notification from Mail')
rect = mailNotification.rectangle()
mouse.click(coords=(rect.left // 2 + rect.right // 2,
                    rect.top // 2 + rect.bottom // 2 - 50))
Beispiel #6
0
class Calc:

    # LOCATORS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    def jeden(self):
        return self.window_name.child_window(title="1")

    def dwa(self):
        return self.window_name.child_window(title="2")

    def trzy(self):
        return self.window_name.child_window(title="3")

    def cztery(self):
        return self.window_name.child_window(title="4")

    def piec(self):
        return self.window_name.child_window(title="5")

    def szesc(self):
        return self.window_name.child_window(title="6")

    def siedem(self):
        return self.window_name.child_window(title="7")

    def osiem(self):
        return self.window_name.child_window(title="8")

    def dziewiec(self):
        return self.window_name.child_window(title="9")

    def zero(self):
        return self.window_name.child_window(title="0")

    def plus(self):
        return self.window_name.child_window(title="+")

    def rownasie(self):
        return self.window_name.child_window(title="Wykonaj")

    def wyczysc(self):
        return self.window_name.child_window(title="wyczyść")

    def wyczysc_his(self):
        return self.window_name.child_window(title="Wyczyść")

    def med(self):
        return self.window_name.child_window(title="Med")

    def p_nawias(self):
        return self.window_name.child_window(title=")")

    # END OF LOCATORS !!!!!!!!!!!!!!!!!!!!!!!!!

    # parameterized constructor
    def __init__(self, window_name):
        self.window_name = Desktop(backend="win32").window(best_match=window_name)

    def get_result(self):
        result = self.window_name.child_window(auto_id="tbWynik").texts()
        assert result[0] == result[1], ">>>>>>>>>>>>>>> somethig wrong with result - check get_result mehod in Calc.py"
        # if result[0] != result[1]:
        #     print(">>>>>>>>>>>>>>> somethig wrong with result - check get_result mehod in Calc.py")
        #     print(result[0], " 1= ", result[1])
        result = result[0]
        return result

    def get_ids(self, level):
        self.window_name.print_control_identifiers(depth=level)

    # click number (0-9)
    def click_1(self):
        self.jeden().click()

    def click_2(self):
        self.dwa().click()

    def click_3(self):
        self.trzy().click()

    def click_4(self):
        self.cztery().click()

    def click_5(self):
        self.piec().click()

    def click_6(self):
        self.szesc().click()

    def click_7(self):
        self.siedem().click()

    def click_8(self):
        self.osiem().click()

    def click_9(self):
        self.dziewiec().click()

    def click_0(self):
        self.zero().click()

    def click_plus(self):
        self.plus().click()

    def click_equal(self):
        self.rownasie().click()

    def click_wyczysc(self):
        self.wyczysc().click()

    def click_wyczysc_his(self):
        self.wyczysc_his().click()

    def click_med(self):
        self.med().click()

    def click_p_nawias(self):
        self.p_nawias().click()

    def click_rownasie(self):
        self.rownasie().click()

    def add_2(self, num1, num2):
        self.click_wyczysc()
        send_keys(num1)
        self.click_plus()
        send_keys(num2)
        self.click_rownasie()
        return self.get_result()

    def med_2(self, num1, num2):
        self.click_wyczysc()
        self.click_med()
        send_keys(num1)
        send_keys(";")
        send_keys(num2)
        self.click_p_nawias()
        self.click_rownasie()
        return self.get_result()

    def med_5(self, num1, num2, num3, num4, num5):
        self.click_wyczysc()
        self.click_med()
        send_keys(num1)
        send_keys(";")
        send_keys(num2)
        send_keys(";")
        send_keys(num3)
        send_keys(";")
        send_keys(num4)
        send_keys(";")
        send_keys(num5)
        self.click_p_nawias()
        self.click_rownasie()
        return self.get_result()
Beispiel #7
0
# coding=utf-8
from subprocess import Popen
from pywinauto import Desktop
from pc_test_tool import *

Popen(r"D:\Program Files\DuoLaBao\bin\BasePay.exe", shell=True)
window = Desktop(backend="uia").window(title=u'哆啦宝')
# window.print_ctrl_ids()
# window.print_control_identifiers()
# a=window.criteria
window.child_window(auto_id="devSetTable").print_ctrl_ids()

b = window.window()
# 设备类型选择按钮
click_action(window, left=410, top=10)
# 意锐小盒-基础版
click_action(window, left=380, top=40)

# 设备类型选择按钮
click_action(window, left=410, top=10)
# 意锐小盒-基础版
click_action(window, left=380, top=60)

# pyautogui.press('shift')

# 设备类型选择按钮
click_action(window, left=410, top=10)
# 意锐小盒-基础版
click_action(window, left=380, top=80)
Beispiel #8
0
class Calc:

    # LOCATORS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    def jeden(self):
        return self.window_name.Jeden

    def dwa(self):
        return self.window_name.Dwa

    def trzy(self):
        return self.window_name.Trzy

    def cztery(self):
        return self.window_name.Cztery

    def piec(self):
        return self.window_name.Pięć

    def szesc(self):
        return self.window_name.Sześć

    def siedem(self):
        return self.window_name.Siedem

    def osiem(self):
        return self.window_name.Osiem

    def dziewiec(self):
        return self.window_name.Dziewięć

    def zero(self):
        return self.window_name.Zero

    def plus(self):
        return self.window_name.Plus

    def rownasie(self):
        return self.window_name.child_window(title="Równa się", control_type="Button")

    # END OF LOCATORS !!!!!!!!!!!!!!!!!!!!!!!!!

    # parameterized constructor
    def __init__(self, window_name):
        self.window_name = Desktop(backend="uia").window(best_match=window_name)

    def set_button_by_title(self, button_title):
        self.window_name.child_window(title=button_title, control_type="Button").click()

    def set_button(self, button_name):
        try:
            self.window_name.child_window(title=button_name, control_type="Button").click()
        except Exception as e1:
            logging.exception(e1)
            try:
                self.window_name.child_window(auto_id=button_name, class_name="Button").click()
            except Exception as e:
                print("!!!!!!!No such button!!!!!!!!!")
                logging.exception(e)

    def get_result(self):
        result = self.window_name.child_window(auto_id="CalculatorResults", control_type="Text").texts()
        result = ''.join(result)
        result = result.strip("Wyświetlana wartość to ")
        result = result.replace(u'\xa0', u'')
        return result

    def get_ids(self, level):
        self.window_name.print_control_identifiers(depth=level)

    # click number (0-9)
    def click_1(self):
        self.jeden().click()

    def click_2(self):
        self.dwa().click()

    def click_3(self):
        self.trzy().click()

    def click_4(self):
        self.cztery().click()

    def click_5(self):
        self.piec().click()

    def click_6(self):
        self.szesc().click()

    def click_7(self):
        self.siedem().click()

    def click_8(self):
        self.osiem().click()

    def click_9(self):
        self.dziewiec().click()

    def click_0(self):
        self.zero().click()

    def click_plus(self):
        self.plus().click()

    def click_equal(self):
        self.rownasie().click()

    def add_2(self, num1, num2):
        send_keys(num1)
        self.click_plus()
        send_keys(num2)
        self.rownasie().click()
        return self.get_result()