/UItestframework

UItestframework项目目前具有以下功能: 1,对webdriver进行了第二次的简单封装,使用更加方便public / common / pyselenium.py (ps:这个是在虫师的pyse基础加了打印日志功能,参考:https ://github.com/defnngj/pyse) 2,可以对excel表进行数据读取,完成数据驱动:public / common / datainfo.py 3,具有打印日志的功能,打印在控制台和文件中:public /common/log.py,日志保存在report / log /目录下 4,读取配置文件(.ini文件):public / common / readconfig.py 5,具有发邮件的功能:public / common / sendmail.py 6,生成测试报告:html测试报告的路径:report / testreport /目录下 7,使用了PageObject模式来编写测试脚本 整个项目的目录结构: ├─config配置文件的目录 ││config.ini存放配置文件 │ │globalparam.py重要的全局参数,如日志,报告路径的配置等 展示│展示│的__init__.py 展示│展示│ 展示│ ├─data数据测试 展示│├─formaldata#环境正式数据测试 展示│└ TESTDATA#测试环境的数据 │searKey.xlsx │ ├─public的公共库文件 ││的__init__.py ││ │├─common的封装公共方法 │││basepage.py │││datainfo.py │││log.py │││mytest的。 PY │││publicfunction.py │││pyselenium.py │││pyselenium20161107.py │││readconfig.py │││sendmail.py │││的__init__.py │││ ││ │├─pages使用pageobject模式编写测试脚本,存放页目录的 展示│展示│展示│baiduInde​​xPage.py 展示│展示│展示│的__init__.py 展示│ ├─report报告扩展测试 展示│├─image目录应用说明教学 展示│├─log目录日志 展示│展示│2016-11-07.log 展示│展示│ 展示│└ ─testreporthtml测试报告目录 │TestResult2016-11-07_16_15_51.html │ └─testcase测试用例存放 │test_baidu.py 使用说明: 安装响应的库:画中画安装xlrd,硒,configparser 1,在的config.ini中配置项目路径:project_path 2,测试数据放在数据目录下面 3,使用pageobject,写页页面,在测试用例里面调用放在公共/页目录下 4,在测试用例目录下面,编写测试用例,可以分模块编写,建相应的目录 5,执行运行的.py,就可以执行所有的测试用例 6,在报告/日志里面查看日志 7,在报告/ testreport里面查看HTML报告扩展测试 关于pyselenium的使用: 该PY文件是根据虫师的pyse改的,加了一个日志,自己根据需要的加了几个函数 可以参考虫师的pyse,github上地址:HTTPS://github.com/defnngj/pyse 虫师的博客园地址:HTTPS://github.com/defnngj/pyse 导入PySlenium文件 导入PySelenium 1,启动浏览器: 启动谷歌浏览器 dr = PySelenium.PySelenium('chrom') 启动远程浏览器比如使用网格施行分布式执行 dr = PySelenium.PySelenium(RChrome','127.0.0.1:8080')2 ,在地址栏输入网址: dr.open('http://www.baidu.com “) 3,窗口最大化 dr.max_window() 4,设置浏览器的窗口的大小 dr.set_window(800500) 如图5所示,不清除文本框的内容直接输入值(比如说:进行文件上传时,上传文件的路径,如果清除就会报错): dr.type('id-> su','小石头测试仪') 6,先清除文本框的内容,然后再输入值(用得很多): dr.clear_type(' name-> su','虫师') 7,直接点击元素 dr.click('css - > #kw ')8,右键点击元素: dr.right_click('id-> kw') 9,将鼠标移动到一个元素上 dr.move_to_element('clas-> btn1.btn-green.btn-search') 10,双击元素 dr.double_click(“id-> kw”) 11,将一个元素拖拽到另外一个元素上 dr.drag_and_drop(”ID-> KW1' , 'ID - > KW2') 12,根据连接的文字来点击(<a href="http://www.baidu.com">百度</a>) dr.click_text('百度') 13,关闭窗口,驱动程序 dr.quit() 14,执行js 脚本dr.js('script') 15,获取元素的属性 dr.get_attribute(“id-> su”,“href”) 16,获取元素的文本信息文本 dr.get_text('id-> su') 17,返回当前页面的标题 dr.get_title() 18,返回当前页面的url dr.get_url() 20,进入帧 dr.switch_to_frame('id-> kw') 21,退出帧 dr.switch_to_frame_out( ) 22,判断元素是否存在 dr.element_exist( 'ID->千瓦') 23,截图 dr.take_screenshot( 'FILE_PATH') 24,进入最新的表 dr.into_new_window() 25,输入内容并且回车 博士。type_and_enter('id-> kw') 26,使用js来点击某个元素 dr.js_click('id-> kw') 27,返回原生的webdriver,进行个性化需求 dr.origin_driver()

Primary LanguagePython

No issues in this repository yet.