就是 mock 吗
如果是手工测试的话,你们是如何定义是否已通过呢? 手工测试通过的标准,理论上都可以转化为 assert 来操作。
哈哈,刚好输入的内容就是对应的 value 属性
driver.find_element_by_name("uri").get_attribute('value')
or
driver.find_element_by_name("uri").get_property('value')
赞!
更新 2 :
更新 selenium 版本后, 最大化也正常了:
driver.maximize_window()
试过了,不起作用
今天补充调用 Firefox 节点时遇到的两个问题:
Error forwarding the new session cannot find : Capabilities {browserName: firefox, javascriptEnabled: true, marionette: false, version: }
对比下 webdriver.DesiredCapabilities.FIREFOX 和 webdriver.DesiredCapabilities.CHROME 的参数结构,发现 Firefox 中多了一个参数 marionette(默认是 false)。
搜索一下,是 Firefox 新的驱动,手动改为 true ,不再报这个错误。
搜索一下,说是 selenium 版本的问题。升级到最新版本后,问题解决。
实际上升级版本后, DesiredCapabilities.FIREFOX 的 marionette 默认已改为 True, 问题 1 其实也解决了:
我不是大神。
说实话, md5 加密和发送 post 请求,网上资料非常多, 真的不需要惊动大神。
如果你尝试过不行,应该根据具体的问题报错去搜索解决办法,或者把具体的代码和报错发上来请教。
这个接口做的事情:
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 也好,能用好,提升测试质量,就应该加分。
搜一下,之前有很多人提供过方案了