unittest 加载case

1、执行所有case if __name__==’__main__’: unittest.main() 2、通过testsuit来执行case if __name__ == ‘__main__’: #构造测试集 suite = unittest.TestSuite() suite.addTest(测试类(’case名称’)) #执行测试 runner = unittest.TextTestRunner(verbosity=3) runner.run(suite) 3、跳过某一个case 在case前增加@skip 来跳过case

appium 滑动屏幕

#coding=utf-8 from appium import webdriver import time desired_caps = {} desired_caps[’platformName’] = ‘Android’ # 设备系统 desired_caps[’platformVersion’] = ‘4.4’ # 设备系统版本 desired_caps[’deviceName’] = ‘a2a9dedc’ # 设备名称 desired_caps[’noReset’]=True driver = webdriver.Remote(’http://localhost:4723/wd/hub’, desired_caps) time.sleep(5) x= driver.get_window_size()[’width’] y= driver.get_window_size()[’height’] def swipeLeft(t): driver.swipe(0.75*x, 0.5*y, 0.05*x, 0.5*y,t) def swipeRight(t): driver.swipe(0.05*x, 0.5*y, 0.75*x, 0.5*y,t) def swipeUp(t): driver.swipe(0.5*x, 0.75*y, 0.5*x, 0.25*y,t) def swipeDown(t):…

appium 碰到的坑

1、failed install setting_apk-debug.apk 解决办法: 找到android.js 找到下面代码: async.series([ this.initJavaVersion.bind(this), this.initAdb.bind(this), this.packageAndLaunchActivityFromManifest.bind(this), this.initUiautomator.bind(this), this.prepareDevice.bind(this), this.checkApiLevel.bind(this), this.pushStrings.bind(this), this.processFromManifest.bind(this), this.uninstallApp.bind(this), this.installAppForTest.bind(this), this.forwardPort.bind(this), this.pushAppium.bind(this), this.initUnicode.bind(this), // this.pushSettingsApp.bind(this), //this.pushUnlock.bind(this), function (cb) {this.uiautomator.start(cb);}.bind(this), this.wakeUp.bind(this), this.unlock.bind(this), this.getDataDir.bind(this), 注释掉: this.pushSettingsApp.bind(this), this.pushUnlock.bind(this), 2、连接真机报command failed shell “ps ‘uiautomator错误 文件路径为:/Applications/Appium.app/Contents/Resources/node_modules/appium/submodules/appium-adb/lib 找到一下代码: ADB.prototype.shell = function (cmd, cb) { if (cmd.indexOf(‘”‘) === -1) { cmd = ‘”‘ + cmd…

senlenium send.key批量输入

#coding=utf-8 from selenium import webdriver import time driver = webdriver.Safari() driver.get("http://192.168.1.17:8090/login") time.sleep(3) driver.find_element_by_id("amount").send_keys("输入你的账号") driver.find_element_by_id("password").send_keys("输入你的密码") driver.find_element_by_xpath("/html/body/section/div/div[2]/div/form/input").click() time.sleep(5) a= 0 while a<=3:     connect = ["test1","hi",u"地方","dhf"]     for i in connect:         driver.find_element_by_xpath("/html/body/header/div/div[1]/ul/li[3]").click()         time.sleep(5)         driver.find_element_by_class_name("add-shop").click()         time.sleep(3)        …

selenium 获取登录cookie

#coding=utf-8 from selenium import webdriver import time driver = webdriver.Safari() driver.get("http://192.168.1.17:8090/login") time.sleep(3) driver.find_element_by_id("amount").send_keys("173") driver.find_element_by_id("password").send_keys("123") driver.find_element_by_xpath("/html/body/section/div/div[2]/div/form/input").click() time.sleep(5) cookie = driver.get_cookies() cookie_list = [] for i in cookie:     cookie = i[’name’] + ‘=’ + i[’value’]     cookie_list.append(cookie) cookie_str = ";".join(cookie_list) print cookie_str driver.quit()

selenium 登录Demo

#coding=utf-8 from selenium import webdriver import time driver = webdriver.Safari() driver.get(“http://192.168.1.17:8090/login”) time.sleep(3) driver.find_element_by_id(“amount”).send_keys(“173”) driver.find_element_by_id(“password”).send_keys(“123”) driver.find_element_by_xpath(“/html/body/section/div/div[2]/div/form/input”).click() time.sleep(4) driver.quit()

selenium web页面滚动滚动条

#coding=utf-8 from selenium import webdriver import time driver = webdriver.Safari() driver.set_page_load_timeout(10) driver.get(‘https://www.baidu.com/’) driver.maximize_window() driver.find_element_by_id(“kw”).send_keys(“selenium”) driver.find_element_by_id(“su”).click() time.sleep(3) js = “var c=document.body.scrollTop=100000” driver.execute_script(js) time.sleep(6) driver.quit() 第二种: #coding=utf-8 from selenium import webdriver import time driver = webdriver.Safari() driver.set_page_load_timeout(10) driver.get(‘https://www.baidu.com/’) driver.maximize_window() driver.find_element_by_id(“kw”).send_keys(“selenium”) driver.find_element_by_id(“su”).click() time.sleep(3) driver.execute_script(“window.scrollTo(0,100000)”) time.sleep(6) driver.quit()

selenium 网页搜索Demo

#coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys import unittest class PythonSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Safari() def test_search(self): driver = self.driver driver.get(“http://www.python.org”) elem = driver.find_element_by_name(“q”) elem.send_keys(“pyhton”) elem.send_keys(Keys.RETURN) assert “No results found.” not in driver.page_source def tearDown(self): self.driver.quit() if __name__ == “__main__”: unittest.main()

selenium+python2.7 +chrome环境搭建

window 安装步骤: 1、下载python安装。 https://www.python.org/downloads 根据自己的操作系统,选择相应的版本进行安装。我的安装目录为:C:\Python27 2、配置python环境变量。 修改我的电脑–>属性–>环境变量–>系统变量中的PATH。变量值: ;C:\Python27;C:\Python27\Scripts; 3、安装selenium 我是通过pip安装的,命令为:pip install selenium 当然也可以直接下载selenium包进行安装。步骤为:cmd进入目录执行python setup.py install 4、安装chromedriver 下载与chrome对应版本的chromedriver。将chromedriver文件放在chrome安装目录下并配置到环境变量中。配置方法参考步骤2. 附:chrome与chromedriver版本之间的对应关系。 所有版本的chromedriver可以在http://chromedriver.storage.googleapis.com/index.html中进行下载。 至此:python+chromedriver 在window中配置已经结束  

Jmeter 后置处理器

如何获取HTTP请求 响应结果的数据? 此文以获取产品ID为例进行演示。 如下为请求相应数据中的部分数据,我们最终要获取的数据为: productid=1602171116hezongjiaotong中的1602171116hezongjiaotong。 {productid=1602171116hezongjiaotong productid=2016002100000000guoqibao productid=201600210000000guahaobao productid=201601060931huanqiuwuyou productid=20160119142600luxingxiaa} 那么如何获取呢?Jmeter提供的后置处理器则为我们提供了获取方法。以下我们以正则表达式提取器为例进行说明,添加的路径为【添加/后置处理器/正则表达式提取器】,添加后目录结果如下: 对应添加的在正则表达式如下所示: 正则提取器说明: Apply to:应用范围 要检查的响应字段:样本数据源。 引用名称:其他地方引用时的变量名称,引用方法:${引用名称} 正则表达式:数据提取器,如上图的productid=(.*)不熟悉正则的,劳烦联系度娘或者谷大爷,谢谢! 模板:对应正则表达式提取器类型,样式为:1。若为:0,则为所有的匹配数据,例如:productid=1602171116hezongjiaotong其中1602171116hezongjiaotong 为 (.*) 匹配的数据,即最终提取的目标部分。若模板为:1,则 1 对应正则表达式中的 (.+?) 匹配数字:正则表达式匹配数据的最终结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。当为 0 时,随机返回匹配的数据,当为 1 时,表示返回匹配结果数组的第一个元素。 缺省值:匹配失败时的默认值。通常用于后续的逻辑判断,一般通常为特定含义的英文大写单词组合,简单可写为 ERROR。