主贴那个, 8 楼的还有问题,主贴上的是最终版, 不知道怎么删 8 楼
现在麻烦的是 EachLike 那里,其他部分都很容易就写出了,今天再搞一天
先递归 LIke 然后是 EachLike 然后到 Matcher-》Term-》Enum 顺序不能乱,不然就有问题, 然后我用生成的 json 和原来的契约做契约校验,看看能不能通过, 只能这样慢慢测试再优化代码了。没想出什么好办法。 领导要我做契约测试的平台, 给消费者提供 mock 功能, 给生产者校验数据, 参考了 pact-Python 和你写的 PactVerify,目前就差一点点了。 我的 okr 全靠这个了
目前刚刚写了 json 契约的反写,5 个匹配类型,每个匹配类型都需要递归处理, 现在是多层嵌套的时候,如果是 [[[]]] 这样的还是存在问题,也有一些新 bug 还在测试中可能没暴露出来,因为还有参数问题的处理,想写出没 bug 的我感觉还得到周 5,不过已经很接近了, 原本以为 pact 包有类似的功能就不用重复造轮子了,
没想到,那么快就有回复, 根据契约来生成一个符合规则的 json ,然后 mock 或者就用来测接口报错什么的,都很方便, 然后就一直在查有没有 已有的方法, 我目前用递归写了一个 但还是有 bug 而且时间比较长,居然要 0.8 秒,昨天发完帖子就开写, 今天花了一整天了
是的, 根据契约来进 mock 数据,结构可控,数据也可控,还有一定的随机性,也能用来生成测试数据,辅助测试,
线上不好交流吧
我想知道 ,怎么根据契约生成 mock 数据呢
data=str(data)
data=data.encode('utf-8')
data = gzip.compress(data)
不是,我的是 desired_caps['automationName']='appium' 原生的那个。
控制台是没有报错的
现在观察到的情况,切换 Activity 的时候,如果使用 tap 就会报错。
不知道应该怎么办了
我查看了控制台的 log,没有发现报错。。。。
问题解决了,
情况是我得用 data=json 才能上传,
上传前先对 json 压缩,上传压缩后的数据
def find_toast(self,message,timeout,poll_frequency,driver):
message = '//*[@text=\'{}\']'.format(message)
element = WebDriverWait(driver,timeout,poll_frequency).until(expected_conditions.presence_of_element_located((By.XPATH,message)))
print (element)
```python
这个函数是查询对应的toast,然后打印出来吧,但是为什么我运行失败了呢 1.6.4+pyhon3
"F:\001\RE_Testcase.py", line 194, in guide
self.find_toast(u'用户名密码错误',10,0.5,self.driver)
File "F:\001\RE_Testcase.py", line 72, in find_toast
element = WebDriverWait(driver,timeout,poll_frequency).until(expected_conditions.presence_of_element_located((By.XPATH,message)))
File "F:\001\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
a=driver.find_element_by_id('com.kk.user:id/tv_invite').text()
这个获取到了
3Q
a=driver.find_element_by_id('com.kk.user:id/tv_invite').gettext()
print(a)
是这样用吗?
怎么不行呢。