这个接口做的事情:
md5(md5(会员 ID)+xml+ 密钥)
*/
String sign = Utils.md5(xml);
参数组装:
CommonUrls.params.put("data", xml); //必填 xml 文件Å
CommonUrls.params.put("service", "DTICK_B2G_searchTicket");//接口名称
CommonUrls.params.put("sign", sign);//md5 加密后的 xml 文件
发送 post 请求并打印结果
String result = HttpClientUtils.doPost(address, CommonUrls.params, "utf-8");
System.out.println(result);
自己写吧,这些都是 python 很基本的操作,百度一下就能找到答案
你要怎么个翻译法? 是解释给你听这段代码什么意思、什么作用, 还是用 python 给你实现出来?
只用 name 或者 tagname 肯定是无法定位到全部元素的, 建议加上: id 、 xpath、 css 、 class name
我们也是用的关键字驱动,用这些基本上可以覆盖所有元素了
为了不相互影响,可以每个用例都自启动一个浏览器进程;
如果要加快测试速度,可以用多进程并发执行。
自己调自己?
我在搭建 macaca 跑了一段时间的 web 和 Android 自动化之后, 是真的放弃了它,web 改回用 selenium, Android 改用 atx , 省心好多。
https://testerhome.com/topics/11827
同理,通过设置 chrome option, 模拟手机浏览器
是不是只能配一个 bat 脚本? 试下把你的 python 启动命令写成 bat ,然后把这个 bat 文件路径填上去试试
参考格式:
url = 'http://localhost:8080/sign_in'
paras = {username:namea,password:passa}
signList = {username,password}
def sign(signList):
// 签名算法
def post(url,paras):
// 发送数据,校验
其中方法都是通用的,只是发一个请求,不会变动;
接口有变动时,对应改 url、 paras 、 signlist 这些信息就可以了,感觉工作量不会很大。
Usage:
alert = driver.switch_to.alert
测试用例分一下优先级,例如 1:核心功能, 2:重要功能 , 3:分支功能 , 4:异常测试等等 如果是回归测试,看情况抽取 1、2 级的用例进行执行
有变动, 才能体现出自动化回归的价值。
至于变更频繁,建议做好代码的结构化,接口参数尽量做到配置简单化,通过配置来维护接口的参数,就可以减少代码的维护量。
后台、前端、Android 、ios 等不同端的开发人员,都是专业的开发语言使用者。 作为一个测试人员,个人觉得是没必要,也不太可能把这些语言全部学会学精(达到能在专业开发人员面前装逼的程度)。
从工具使用上来说, python 也好,java 也好,能用好,提升测试质量,就应该加分。
搜一下,之前有很多人提供过方案了
等待,说明方法没用错,只是可能没找到你传入的 context name
试下获取所有的 context 打印出来看看
确定一下是否用错了方法, self.driver.context(context_name) 应该是获取到 context 列表
试下 switch to context
我本地用 chrome 是正常的,打开了新标签:
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/') #####get' 浏览器没有反应
time.sleep(2)
js = "window.open('http://www.sogou.com')"
driver.execute_script(js)
time.sleep(5)
不知道和环境或者浏览器设置有没关系
代码用 markdown 调一下吧,格式很难看
另外最好把问题截图什么的提供一下,这样别人才容易帮你解决和回复
js='window.open("https://www.sogou.com");'
browser.execute_script(js)
是的
按 time.nowtime() 取 timestamp 就行了, 保险点的话可以再加个随机数