利用参数化连续打开网页: #encoding=utf-8import unittestimport paramunittestimport timefrom selenium import webdriver @paramunittest.parametrized( {"url":"http://www.baidu.com","result": "百度"}, {"url":"http://www.…
以前经常在这个网站上下载电影下来看,这个网站比较坑的就是,主页上只有电影的名称,但是评分是看不到的:只有再点击电影名字,进入电影主页时才能看到评分.一般下载的电影都是评分高的才看,低的就忽略掉了.每次都要来回去看评分,太麻烦了.So,我就写了一个小小的爬虫,暂时就叫爬虫好了. 在脚本中使用的是:python2.7 + selenium + unittest + chrome(其实我想用phantomjs的,但是在抓取评分的时候,老是抓取不到,好像是js搞的鬼) 其实流程很简单:1.进入主页获取电…
Selenium & Webdriver 远程测试和多线程并发测试 Selenium Webdriver自动化测试,初学者可以使用selenium ide录制脚本,然后生成java程序导入eclipse中调试运行!当然录制出来的东西回放不一定能成功,还需要手工去修改:selenium自动化测试工具,但是特殊情况下也可以用来测试性能:先来介绍一下selenium 如何启动远程pc上的浏览器进行测试! 启动远程pc浏览器之前,需要下载selenium-server-standalone-2.40.0…
分享一个比较基础的,系统性的知识点.Python+selenium+unittest+HTMLTestReportCN单元测试框架分享 Unittest简介 unittest是Python语言的单元测试框架,在Python的官方文档中,对unittest单元测试框架进行了详细的介绍,感兴趣的读者可以到 https://www.python.org/doc/网站了解.本章重点介绍unittest单元测试框架在自动化测试中的应用.unittest 单元测试框架提供了创建测试用例.测试套件和批量执行测…
1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_page import Login_Page from HTMLReport import logger import time def login(driver, username, password): """ 登录业务 :param driver:浏览器驱动 :param us…
Selenium参数化分为大小: 小:list.dict.函数 大:txt.excel.mysql.redis 哪种方式使自己的工作简单高效就选那种!!! Selenium进行参数化有多种形式: 本文全部以百度为例 一.把需要的参数写在一个txt文档中进行遍历,示例如下 #引入所需包 import time,codecs from selenium.webdriver.common.by import By from selenium import webdriver #把打开的文档内容进行ut…
整体框架使用的是:Python+Unittest+Requests+PyMysql+HTMLReport 多线程并发模式 主要依赖模块 Unittest.Requests.PyMysql.HTMLReport,多线程的并发的一个好处在于能更快速的执行完数量庞大的接口自动化用例数 包含以下几个模块: 1. Business:与业务相关的公共模块 get_login_token:接口自动化过程中需要实时获取token,并将实时获取的token传给下个接口作为请求参数 from Business.ur…
一.读取变量的值,实现unittest 参数化 import nose_parameterized,unittest def calc(a:int,b:int): return a+b case_data =[ [10,20,30], [12,21,33], [15,21,36] ] class MyClass(unittest.TestCase): @nose_parameterized.parameterized.expand(case_data) def test_compare(self…
做接口测试的时候,当一个参数需要输入多个值的时候,就可以使用参数来实现: python中unittest单元测试,可以使用nose_parameterized来实现: 首先需要安装:pip  install nose-parameterized,导入该模块: 看下面的例子,一般我们写测试用例的时候会追条定义一个test*()的方法,然后执行所有测试用例,如下: import unittestdef calc(a,b): res=a+b return res class MyTest(unitte…
 如何实现shell并发      很多人都问我如何写shell脚本,如何实现同时给三台ftp服务器上传文件,如何同时检测三台服务器是否alive等,其实这就是想实现shell的并发.那么shell并发该如何实现呢?     下面我就拿这个例子来讲:       每次任务都是输出字符“bingfa”,并停留一秒钟,共20次.     按照正常思维,脚本应该这样写: [root@station1 ~]# cat a.sh #!/bin/bash for((i=0;i<20;i++)) do sle…