Пример #1
0
def handler(event={}, context={}):
    Driver.setup(event)

    d1 = Driver.new()
    d2 = Driver.new()

    d1.get('https://en.wikipedia.org/wiki/Special:Random')
    d2.get('https://ja.wikipedia.org/wiki/Special:Random')
    titleEn = d1.find_element_by_class_name('firstHeading').text
    titleJa = d2.find_element_by_class_name('firstHeading').text
    print(titleEn)
    print(titleJa)
    d1.quit()
    d2.quit()
    return titleEn, titleJa
Пример #2
0
 def loadXmlConfig(self):
     dataDir = '../data'
     files = os.listdir(dataDir)
     xmlFormat = r"^zwcfg_0x[0-9,a-f,A-F]{8}.xml$"
     for f in files:
         if re.match(xmlFormat,  f) is not None :
             if f not in self.zwNetworks :
                 self._log.write(LogLevel.Always, self, "Find and loading {0} openzwave file config....".format(dataDir + "/" + f))
                 xmlData = self.readXmlNetwork(dataDir + "/" + f)
                 driverData = xmlData.getDriver(0)
                 homeId = driverData['homeId']
                 self.zwNetworks[homeId] = {'xmlData': xmlData}
                 configFile = f.replace('xml', 'json')
                 try :
                     self.zwNetworks[homeId]['configData'] = readJsonFile(dataDir + "/" +  configFile)
                     self._log.write(LogLevel.Always, self,"Config for emulation loaded : {0}".format(self.zwNetworks[homeId]['configData']))
                 except :
                     self._log.write(LogLevel.Error, self,"Error on readind config file for emulation :{0}".format(dataDir + "/" +  configFile))
                 print driverData
                 nodes = self.zwNetworks[homeId]['xmlData'].listeNodes()
                 for node in nodes :
                     xmlNode = self.zwNetworks[homeId]['xmlData'].getNode(node)
                     self.addXmlNode(homeId,  xmlNode['id'],  xmlNode)
                 self.startVirtualCom(homeId)
                 self.drivers.append(Driver(self, self.getNode(homeId, driverData['nodeId']),  driverData))
                 print " +++ driver added +++"
             else :
                 self._log.write(LogLevel.Warning, self,"Zwave network allready loaded :{0}".format(f))
 def __init__(self, driver):
     self.elements = Elements()
     self.driver = Driver(driver=driver)
     self.data = TestData()
class Actions(Expects):
    def __init__(self, driver):
        self.elements = Elements()
        self.driver = Driver(driver=driver)
        self.data = TestData()

    def click_stock_menu(self):
        return self.driver.find_element_by_name(
            self.elements.stock_menu).click()

    def click_orders_button(self):
        return self.driver.find_element_by_name(
            self.elements.orders_button).click()

    @staticmethod
    def click_radio_option():
        return pyautogui.click(418, 791)
        # return self.driver.find_element_by_id(self.elements.account_radio_button).click()

    @staticmethod
    def click_txt_box(value):
        pyautogui.click(345, 816)
        return pyautogui.typewrite(value)
        # self.driver.find_element_by_id(self.elements.enter_product_name).click()
        # return self.driver.find_element_by_id(self.elements.enter_product_name).send_key(value)

    def click_select_button(self):
        return self.driver.find_element_by_id(
            self.elements.select_button).click()

    @staticmethod
    def click_insert_button():
        return pyautogui.click(195, 1204)
        # return self.driver.find_element_by_name(self.elements.insert_button).click()

    def click_continue_button(self):
        return self.driver.find_element_by_id(
            self.elements.continue_button).click()

    def enter_product_name(self, value):
        return self.driver.find_element_by_id(
            self.elements.enter_product_name).send_keys(value)

    @staticmethod
    def product_quantity(value):
        # self.driver.find_element_by_id(self.elements.enter_product_quantity).clear()
        pyautogui.doubleClick(422, 820)
        return pyautogui.typewrite(value)

    def click_find_button(self):
        for product in self.data.product_names:
            self.driver.find_element_by_id(self.elements.find_button).click()
            self.enter_product_name(value=product)
            self.click_select_button()
            self.product_quantity(
                value=self.data.supplier_order_product_quantity)
            self.driver.find_element_by_id(
                self.elements.find_next_item).click()
        return ""

    def click_accept(self):
        return self.driver.find_element_by_id(
            self.elements.select_button).click()

    def click_update_button(self):
        return self.driver.find_element_by_id(
            self.elements.update_button).click()

    def click_yes_button(self):
        return self.driver.find_element_by_id(self.elements.yes_button).click()

    def click_no_button(self):
        return self.driver.find_element_by_id(self.elements.no_button).click()

    @staticmethod
    def click_close_button():
        pyautogui.click(871, 1208)
        # return self.driver.find_element_by_name(self.elements.close_button).click()

    def click_radio_button(self):
        return self.driver.find_element_by_id(
            self.elements.account_radio_button).click()

    def click_text_field(self, value):
        self.driver.find_element_by_id(
            self.elements.enter_product_name).click()
        self.driver.find_element_by_id(
            self.elements.enter_product_name).send_keys(value)

    def order_number_text(self, value):
        return self.driver.find_element_by_id(
            self.elements.order_number).send_keys(value)

    def transaction_option(self):
        return self.driver.find_element_by_name(
            self.elements.transactions).click()

    def supplier_receipts_option(self):
        return self.driver.find_element_by_name(
            self.elements.supplier_receipts).click()

    def enter_reference1(self, value):
        return self.driver.find_element_by_id(
            self.elements.reference_number1).send_keys(value)

    def enter_reference2(self, value):
        return self.driver.find_element_by_id(
            self.elements.reference_number2).send_keys(value)

    def click_check_box(self):
        return self.driver.find_element_by_id(self.elements.check_box).click()

    def enter_total_amount(self, value):
        self.driver.find_element_by_id(self.elements.total_amount).clear()
        return self.driver.find_element_by_id(
            self.elements.total_amount).send_keys(value)

    # @staticmethod
    # def scrape_total():
    #     pyautogui.doubleClick(882, 276)
    #     return pyautogui.hotkey('ctrl', 'c')

    def supplier_orders(self):
        time.sleep(5)
        self.click_stock_menu()
        self.click_orders_button()
        time.sleep(2)
        self.click_radio_option()
        time.sleep(2)
        self.click_txt_box(value=self.data.creditor_code[0])
        self.click_select_button()
        time.sleep(3)
        self.click_insert_button()
        self.click_continue_button()
        self.click_find_button()
        self.click_accept()
        scrape = self.driver.get_attribute_by_id(
            element=self.elements.total_amount, attribute='value')
        time.sleep(3)
        self.click_update_button()
        self.click_yes_button()
        self.click_no_button()
        self.click_no_button()
        self.click_close_button()
        query = select_query_builder2(
            "ORDNO", "[POSWINSQL_PTA_QA].[dbo].[CRORDHD]",
            "WHERE ACCOUNT = '3' AND ODATE = Convert(DATE, GetDate())", "DESC")
        result = self.run_query(query=query)
        self.click_stock_menu()
        self.transaction_option()
        self.supplier_receipts_option()
        self.click_radio_button()
        self.click_text_field(value=self.data.creditor_code)
        self.click_select_button()
        self.order_number_text(value=result[0])
        self.enter_reference1(value="651000")
        self.enter_reference2(value="100")
        self.click_check_box()
        self.enter_total_amount(scrape)
        self.click_continue_button()
        return result

        # time.sleep(10)


# SELECT TOP 10 ORDNO FROM [POSWINSQL_PTA_QA].[dbo].[CRORDHD]
# WHERE ACCOUNT = '3' AND ODATE = Convert(DATE, GetDate())
# ORDER BY ORDNO DESC;
Пример #5
0
def runTest():
    Driver.runSequentialTest()
Пример #6
0
                self._log.critical(msg)
            else:
                self._log.debug(msg)


if __name__ == "__main__":
    from manager import Manager
    from lib.driver import Driver
    from node import Node
    from lib.values import Value
    from options import Options

    l = Log()
    print l
    l.create("", False, True, LogLevel.Debug, LogLevel.Debug, LogLevel.Debug)
    l2 = Log()
    print l, l2
    l.write(LogLevel.Debug, "Test de log debug")
    o = Options()
    o.create("../openzwave/config", "",
             "--logging true --LogFileName toto.txt")
    o.Lock()
    m = Manager()
    l2.write(LogLevel.Debug, Node(m, 12554, 5), "Test de log debug avec",
             " l2")
    LOG.write(LogLevel.Info, Value(Node(m, 12554, 8), 55),
              "Refresh Value Test de log info avec LOG")
    LOG.write(LogLevel.Warning, m, "Test de log warning avec LOG")
    LOG.write(LogLevel.Warning, Driver(m, "/dev/zwave", ""),
              "Test de log warning avec LOG")
Пример #7
0
class Actions(Expects):
    def __init__(self, driver):
        self.elements = Elements()
        self.driver = Driver(driver=driver)
        self.data = TestData()

    def click_on_register_link(self):
        return self.driver.find_element_by_xpath(
            self.elements.register).click()

    def enter_first_name(self, value):
        self.driver.find_element_by_name(self.elements.first_name).click()
        return self.driver.find_element_by_name(
            self.elements.first_name).send_keys(value)

    def enter_last_name(self, value):
        self.driver.find_element_by_name(self.elements.last_name).click()
        return self.driver.find_element_by_name(
            self.elements.last_name).send_keys(value)

    def enter_phone_number(self, value):
        self.driver.find_element_by_name(self.elements.phone).click()
        return self.driver.find_element_by_name(
            self.elements.phone).send_keys(value)

    def enter_email_address(self, value):
        self.driver.find_element_by_name(self.elements.email_address).click()
        return self.driver.find_element_by_name(
            self.elements.email_address).send_keys(value)

    def enter_address(self, value):
        self.driver.find_element_by_name(self.elements.address).click()
        return self.driver.find_element_by_name(
            self.elements.address).send_keys(value)

    def enter_city(self, value):
        self.driver.find_element_by_name(self.elements.city).click()
        return self.driver.find_element_by_name(
            self.elements.city).send_keys(value)

    def enter_state_province(self, value):
        self.driver.find_element_by_name(self.elements.state_province).click()
        return self.driver.find_element_by_name(
            self.elements.state_province).send_keys(value)

    def enter_postal_code(self, value):
        self.driver.find_element_by_name(self.elements.postal_code).click()
        return self.driver.find_element_by_name(
            self.elements.postal_code).send_keys(value)

    def enter_country(self, value):
        self.driver.find_element_by_name(self.elements.country).click()
        return self.driver.find_element_by_name(
            self.elements.country).send_keys(value)

    def enter_user_name(self, value):
        self.driver.find_element_by_id(self.elements.user_name).click()
        return self.driver.find_element_by_id(
            self.elements.user_name).send_keys(value)

    def enter_password(self, value):
        self.driver.find_element_by_name(self.elements.password).click()
        return self.driver.find_element_by_name(
            self.elements.password).send_keys(value)

    def enter_confirm_password(self, value):
        self.driver.find_element_by_name(
            self.elements.confirm_password).click()
        return self.driver.find_element_by_name(
            self.elements.confirm_password).send_keys(value)

    def click_submit_btn(self):
        return self.driver.find_element_by_name(
            self.elements.submit_query_btn).click()

    def enter_user_name_landing_page(self, value):
        self.driver.find_element_by_name(
            self.elements.user_name_landing_page).click()
        return self.driver.find_element_by_name(
            self.elements.user_name_landing_page).send_keys(value)

    def enter_password_landing_page(self, value):
        self.driver.find_element_by_name(
            self.elements.password_landing_page).click()
        return self.driver.find_element_by_name(
            self.elements.password_landing_page).send_keys()

    def click_submit_btn_landing_page(self):
        return self.driver.find_element_by_name(
            self.elements.submit_btn_landing_page).click()

    def click_home_link(self):
        return self.driver.find_element_by_xpath(
            self.elements.home_link).click()

    def find_note_register_page(self):
        return self.driver.find_element_by_xpath(self.elements.note).text

    def web_page(self):
        self.click_on_register_link()
        self.enter_first_name(value=self.data.register_first_name)
        self.enter_last_name(value=self.data.register_last_name)
        self.enter_phone_number(value=self.data.phone)
        self.enter_email_address(value=self.data.email_address)
        self.enter_address(value=self.data.address)
        self.enter_city(value=self.data.city)
        self.enter_state_province(value=self.data.state_province)
        self.enter_postal_code(value=self.data.postal_code)
        self.driver.drop_down_menu(element=self.elements.country,
                                   text=self.data.country_text)
        self.enter_user_name(value=self.data.username)
        self.enter_password(value=self.data.password)
        self.enter_confirm_password(value=self.data.password)
        self.click_submit_btn()
        get_text = self.find_note_register_page()
        return self.data.username, get_text