关键词不能为空

当前您在: 主页 > 英语 >

selenium自动化项目总体框架

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 05:38
tags:

-

2021年2月28日发(作者:广渠路)


1


、项目总体框架




auto_project


:存放项目的脚本。包括三个部分:



data


:存放项目的测试数据



report


:存放项目的测试报告,包括


HTML


报告以及


images


图片



testcase :


存放测试用例、


测试页面。


其下的


models


存 放一些公共的模块以及配置函数


等。


Page_obj


存放测试用例页面对象。



driver



< br>用于存放浏览器驱动等。方便后面的项目迁移,部署,直接将驱动复制到环境变


量 的路径下。



package:


存放工具包,方面后面项目的迁移和部署。



2


、代码




1



models/basetest


定义一个


unittest


的基类,继 承


se


类。实现


setUp()



tearDown


方法。



from


auto_


import


driver


import


unittest




class


BaseTestCase(se):



#


定义


BaseTestCase


类,继承


TestCase,


后续不需 要再考虑


setUp he tearDown


这样的方


法了







def


setUp


(


self


) ->


None


:



self


.driver = _browser()



self


.ze_window()



self


.itly_wait(


30


)




def


tearDown


(


self


) ->


None


:



print


(



测试结 束



)



self


.()


< br>(


2



models/


定义浏览器驱动函数。


该函数可以进行配置,根据需求,


配置用例再


不同主机以及浏览器下运行。



from


ver


import


Remote


from


selenium


import


webdriver




def


remote_browser


():



#


使用远程机器执行测试用 例,使用


Remote


类启动浏览器驱动;使用时候需要启动< /p>


selenium-server- standalone


服务







#


使用远程



机器执行用例,可以使得用例运行过程中不影响做其他事情







#


也可做成配置化,使用多个浏览器,多个平台







host =


'localhost:4444/wd/hub'



dc = {


'platform'


:


'WINDOWS'


,


'browserName'


:


'chrome'


}


driver = Remote(host


,


dc)



return


driver



def


local_browser


():



#


本地机器执行测试用例







#


可做成配置化,使用与多个浏览器







driver = ()



return


driver


#


用法:



if


__name__ ==


'__main__'


:


driver = remote_browser()


(



)


()



3



page_obj/


定义一个页面对象的基类,实现一些页面操作的公共方法,后


续 每个页面对象继承该类。



from


abc


import


abstractmethod


from



import


By




class


BasePage(


object


):





页面基础类,用于所有页面的继承





bbs_url =


'/'




def

< br>__init__


(


self


,


driver


,


base_url=bbs_url


,


parent=


None


):



self


.driver = driver



self


.base_url = base_url



self


._validate_page(driver)



self


.parent = parent




@abstractmethod



def


_validate_page


(


self


,


driver):



#


定义一个抽象方 法,后续集成该类的时需要实现该方法,用于校验也没是否已经加载完












return



def


_open


(


self


,


url):



#


单个下划线开头 的变量或方法仅供内部使用


,


只是做一个区分而已











#


打开指定连接


,


校验也没是否正常加载











url =


self


.base_url+url



self


.(url)



assert


self


._vali date_page(


self


.driver)




def

< br>open


(


self


):



#


打开

< p>
bbs


地址











sel f


._open(


self


.base _url)




def


find_element


(


self


,


type


,


value):





重定义单个元素查找定位




:type


value: object



:param


type:



:param


loc: *loc:by,value



:return


: web element




if


type ==



:



return


self


._element(


,


value)



if


type ==



:



return


self


._element(


,


value)



if


type ==



:



return


self


._element(


,


value)



if


type ==



:



return

self


._element(_NAME


,


value)



if


type ==



:



return

self


._element(_SELECTOR


,


value)



if


type ==



:



return

self


._element(_TEXT


,


value)



if


type ==



:



return

self


._element(L_LINK_TEXT


,


value)



if


type ==



:



return

self


._element(_NAME


,


value)



return





def


find_elem ents


(


self


,


*loc):





重定义多个元素查找定位




:param


loc: *loc:by,value



:return


: web elements[]




return


self


._elements(*loc)




def

< br>script


(


self


,


src):





重定义


JavaScript


代码调用方法




:param


src: JavaScript


代码




:return


:




return


self


.e(src)




4



page_ob j/


创建登陆页面对象。对登录页面的用户名、密码输入框、登录

按钮和提示信息等元素的定位进行封装。



from


.basepage


import


BasePage


from


time


import


sleep




class


LoginPage(BasePage):




def


_validate _page


(


self


,


driver):



pass




url =


'/'



bbs_login_loc =


-


-


-


-


-


-


-


-



本文更新与2021-02-28 05:38,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/678987.html

selenium自动化项目总体框架的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文