分享

python关键字UI自动化测试框架(2)-基类和元素定位封装

 小猪窝969 2019-12-09

base  基类封装============

from  selenium import  webdriver

import  time

from unit.getLocator import getLocator

class ActtionMethod:

    def open_browser(self,browser = None,*args):

            if browser == "Firefox" or browser == "firefox":

                self.driver = webdriver.Firefox()

            elif browser =="Ie" or browser=="ie":

                self.driver = webdriver.Ie()

            else:

                 self.driver = webdriver.Chrome()

    def get_url(self,*args):

        self.driver.get(args[0])

    def get_element(self,locator):

        element= getLocator(self.driver).getbylocal(locator)

        print(element)

        return  element

    def element_click(self,*args):

        self.get_element(args[1]).click()

    def element_send_value(self,*args):

        self.get_element(args[1]).send_keys(args[0])

    def timeSleep(self,*args):

        if args[0]==" ":

            time.sleep(3)

        time.sleep(args[0])

    def get_page_title(self,*args):

        print(self.driver.title)

        return self.driver.title

    def max_page(self,*args):

        self.driver.maximize_window()

    def closeBrower(self,*args):

        self.driver.close()

    def screenshot(self,*args):

        self.driver.get_screenshot_as_file("../log/screenshot/" +str(int(time.time()))+ args[0] + ".png")

getLocator 元素定位封装=================

from event.log_event import  log

import time

import re

class getLocator:

    def __init__(self,driver):

         self.driver = driver

    #id=123

    def getbylocal(self,elementlocator):

        try:

            locator_type=elementlocator.split("=")[0].lower()

            locator = elementlocator.split("=")[1]

            if  locator_type=="id":

                return  self.driver.find_element_by_id(locator)

            elif locator_type=="classname":

                return self.driver.find_element_by_class_name(locator)

            elif locator_type == "name":

                return self.driver.find_element_by_name(locator)

            elif locator_type == "link":

                return self.driver.find_element_by_partial_link_text(locator)

            elif locator_type =="tag":

                return self.driver.find_element_by_tag_name(locator)

            elif  locator_type =="xpath":

                return self.driver.fin_element_by_xpath(locator)

            else:

                return self.driver.find_element_by_css_selector(locator)

        except Exception as e:

            log.error(f"错误信息:【{str(e)}】")

            try:

                self.driver.get_screenshot_as_file("../log/screenshot/" + str(int(time.time())) + f"没有找到[{elementlocator}]元素" + ".png")

            except Exception as e:

                raise  e

            finally:

                self.driver.close()

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多