/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-android-driver/build/lib/android-helpers.js
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-android-driver/lib/android-helpers.js
但确实不知道怎么改;mac 桌面版 1.2.7
#! /usr/bin/env python3
import requests
from bs4 import BeautifulSoup
url='http://www.biqukan.com/1_1094/'
domain='http://www.biqukan.com/'
r=requests.get(url)
r=BeautifulSoup(r.content,'html.parser')
for e in r.find(attrs={"class":"listmain"}).find_all(href=True):
r=BeautifulSoup(requests.get(domain+e['href']).text,'html.parser')
print(r.find('h1').string)
print(r.find(id="content").text)
break
以下纯属临时想法,对帖主没有任何不满情绪
干过一段测试,可能就会对这类问题感到反感;
我就是这心态,我检讨
因为关注是脚本/提高效率的技术,或者是在公司如何活下去,而不是设计用例,自己显然已经丧失那种基本技能,
其他乱七八糟的事情会占据有限的脑容量;
其实我在想,好多熟悉的场景,为什么没有统一的用例样本库,一个公司没有 (可能大厂应该有),一个行业似乎是没有, 或者有,但不著名,大家都不知道.每到一个新公司,面临新的但是基本换汤不换药的登录页面,用例又要重新写起,搞不好还会明显漏设计用例;
感到现在大多数工具都是在解决点点问题似,对于 case 的设计,基本不在乎;
哪怕造一个x-www-form-urlencoded
请求数据的全排列工具也好;似乎也是没看见;
以上纯属临时想法,对帖主没有任何不满情绪
14 楼太搞笑了
这样的帖子不用动脑子,随便说,所以回帖有数量;
因为人多,所以会使用附加要求刷掉一些人;好多要求是没太大用;
这帖子不是我发的,我是 3 楼;
对我有利,据证 xxx 国也是这样的;
对我无利,我是特色社会主义,不能跟他们一样;
您大概是革命导师,
反正我就是毫无水平.我流氓我不怕。
理论上来说,测试参与整个软件的生命周期,应该是比开发更了解产品,比产品更了解开发的中间人角色。而且在实际工作中,测试能力强于开发,懂编程知识,比产品更懂业务,才能不被人忽悠的团团转,国外公司基本都是测试强于开发,才能有生存空间,不然测试很容易沦为没人重视的职业,这样的情况有待改善
看出区别了么
病人都要死了,你跟他说你为啥你不注意健康,为啥老吃转基因玉米,
家属不抽你抽谁
源码 没有 passwd 这个形参; 换句话说没有使用密码登录
1.不会 RF,只会点 Se
2.不成你就用 js 解决, RF 不应该没提供执行 js 的操作方法
document.ElementById
最近发现确实是这样,以为自己会了,遇到个 xx 的场景,还是搞不定;
这就跟测试一样,是个概率事件,最近运气不好,再明显的 bug 都可能漏掉;难免这些工具也有 bug;
靴靴点赞,不用打赏
难道公司没运维么,这都归测试关了
我只试了试 标题,文本正文,附件;
其他的参数没试;
命令行执行没改
我在想 有人会的不多,但是挣得比我多;
有人几乎没事干,占着领导的位置把活儿分了,把手下的绩效添了,这就是 ta 的工作;
有人天天加班,混的比狗还惨,还在努力;
不管是 ta 或 ta 靠什么上位,只要比你舒服,就是 ta 的能力
; 这就是 社会;
靠良心吃饭的人只能吃亏了,这就是现实;
但是我得把手里的活儿干完;
curl 'http://sfz.uzuzuz.com/?region=110101&birthday=19900307&sex=1&num=5' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8' -H 'Referer: http://sfz.uzuzuz.com/?region=110101&birthday=19900307&sex=1&num=5' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8' -H 'Cookie: UM_distinctid=163ca3e463b283-0b739ed36f3f9-336e7707-fa000-163ca3e463c890; CNZZDATA1261470196=1943457848-1528102451-%7C1528102451; Hm_lvt_11b7d968fe1705691cfbabf79220a2ea=1528106469; Hm_lpvt_11b7d968fe1705691cfbabf79220a2ea=1528106469' --compressed
祝你成功
帖主这么发帖会被人骂的: 说你的存在阻碍了社会进步;
但是反过来想,每个人都面临这样的问题,谁都有跟不上发展的时候;
所以有时发现,有些领导招聘只能引入水平更差的人,因为另外一部分在面试时卡掉了;
太有有能力的人基本不太听话,太听话的的基本没有大能力;
除非你已经做大;反正如果你不能用非技术手段上位,只能靠技术;
都靠不上的话,那就只能忍着了;
装饰器对我来说是个难题
之前看到有人这么写代码
@session(method='post',url='http://0.0.0.0:80/post',data={},expected=100)
def test1(self,status_code,expected):
self.assertEqual(status_code,expected)
自己攒了一个,本地有 httpbin
import unittest
class A(unittest.TestCase):
def session(**kw):
def _wrapper(func):
def inner(self):
if kw.get('method')=='post':
r=reqs.post(kw.get('url'),kw.get(data))
elif kw.get('method')=='get':
r=reqs.get(kw.get('url'))
func(self,r.status_code,kw.get('expected'))
return inner
return _wrapper
@session(method='post',url='http://0.0.0.0:80/post',data={},expected=100)
def test1(self,status_code,expected):
self.assertEqual(status_code,expected)
@session(method='get',url='http://0.0.0.0:80/get',expected=200)
def test1(self,status_code,expected):
self.assertEqual(status_code,expected)
unittest.main()
看起来很高大上.但感觉用起来不划算; 不知道怎么和 parameterized
组合起来用;只能说自己水平菜
然后看坛子里有人 selenium 错误截图,于是攒了一个
import unittest
from selenium import webdriver
class B(unittest.TestCase):
@classmethod
def setUpClass(cls):
B.dr=webdriver.Firefox()
def get_screenshot_as_file(func):
def wrapper(self):
try:
func(self)
except:
self.dr.get_screenshot_as_file('./{}.png'.format(
func.__name__) )
return wrapper
@get_screenshot_as_file
def test1(self):
self.assertTrue(True)
self.dr=B.dr
self.dr.get('http://www.baidu.com')
assert False
@get_screenshot_as_file
def test2(self):
assert True
@classmethod
def tearDownClass(cls):
B.dr.quit()
unittest.main()
那块异常处理还应该做的好些,比如收集日志等
完全不能统一
工作派出来,要看具体什么工作.
如果是一次性的,不能保证自己把脚本搞出来或是恐怕要很长时间完成,手工就可以;
但不耽误你在空闲时间用代码再搞一遍
;
非要占着手工能完成的时间在那练习...,至少没有一个经理愿意听到你上班是为了练手的
这真是个水贴。。。果然是灌水
我的 shell 是够烂的。不会。。。
我理解薛定谔的猫,但我不理解牛顿三定律
;你有何感想
我的问题点是感觉这个工具帽子太大;
想看的是 用这个工具后得出测量结果,是如何分析的;否则, 和开发改完后在手机上直接点点看看反应 有何本质区别?
没看懂这个工具能解决 缘由;感觉是主站工具使用说明摘抄;
挂上代理,看看慢的那个接口优化后同样的图片传输是否真的压缩了,
压缩后手机反应如何;
另外你们敢在正式服务器上搞着东西么
他不放弃让他出个方案啊;竟是这样的领导,没方案,没脑子,就要结果,你去解决, 放 kpi 里;
基本方案就俩
在客户端那 mock,这个难度真的比较大,要能搞定基本可以当开发去改 bug;
做个假的服务器
- 各种语言可以实现,相当于开发了一个后台
- 然后我说的 charles locate,是直接返回结果,不是在中间修改后返回,只修改的话还是需要真的 server
然后感谢楼下说的mitmdump
,最近客户端有 bug,用 charles 修改请求后定位,但手要快;
filder 安装麻烦,还要学新的脚本.
找到了相关的一个文,https://juejin.im/post/5ac9ea6d518825364001b5b9,喜欢的人可以去看
charles 有个 locate 功能