美文网首页
通用的UI自动化测试框架(2)----常用公共函数封装

通用的UI自动化测试框架(2)----常用公共函数封装

作者: 金融测试民工 | 来源:发表于2020-02-23 21:32 被阅读0次

介绍

    在上一篇文章链接🔗里我们讲了如何设计通用的UI自动化测试框架,这篇文章我会举几个例子,在UI自动化框架里,如何对常用公共方法封装,减少代码的冗余度。

正文

    所有Web UI自动化都需要打开浏览器、网页和等待获取元素的定位等,我们其实可以把这部分基础功能做一个封装,如下:

from selenium import webdriver

from selenium.webdriver. support.ui import WebDriverWait

import time

class Base_ Src0:

    def init_(self, ):

        pass

    def get_ele_ times(self, driver, times, func) :

        return WebDriverWait (driver, times).until (func)

    def open_browser(self):           

    #打开浏览器

        driver = webdriver. Chrome ()

        driver.maximize_ window()

        return driver

    def open_url(self; driver=None, ur1=None) :

        #打开测试网址

        driver. get(url)

    def isElementExist(self, driver, element):

    #判断元素是否存在,若存在,返回True,不存在返回False,并关闭浏览器

        flag =True

        try:

            driver. find_element_ by_ id(element)

            print("要定位的元素存在: ",element)

            return flag

        except:

            flag=False

            print("要定位的元素不存在: ",element)

            driver. quit()

            return flag            

    其次,很多网站有做登陆功能,先要进行登陆,获取了登陆态后才能进行其他页面的操作,所有我们也可以对登陆功能进行封装,如下例子:

def login(self, driver, url=None, login_acc=None, login_pwd=None):

    self. open_url (driver, url)

    time.sleep(1)

    if self.isElementExist (driver,_title' ):

        print("首次登陆")

        #若是首次登陆,需先点击“确定”弹窗,若是非首次登录,则直接去输入帐号密码登录

        driver. find element _by_ xpath( //*[@id=“XXXXX" ]/span' ).click()

    login_acc_ele = driver.find_element_by_xpath( /[i/=”umame”" )

    login_pwd_ele = driver.find_element_by_xpath(" //*L@id-"test"")

    #print("输入帐号“)

    login_acc_ele.clear()

    login_acc_ele.send_keys(login_acc)

    login_pwd_ele.clear()

    #print("输入密码”)

    login_pwd_ele.send_keys(login.pwd)

    driver. find_element_by_xpath(' //* [@i d=" submit"]/span).click()

    #判断是否登录成功    

相关文章

网友评论

      本文标题:通用的UI自动化测试框架(2)----常用公共函数封装

      本文链接:https://www.haomeiwen.com/subject/bccsqhtx.html