....
点错了
请问 py 重跑是如何实现的?
已搞定,修改了 HTMLTestRunner,固定长度高度。
DDT 就是数据驱动
自己搭框架啊 python + unittest + PO 模式 + ddt 应该就满足你的问题了。
另外,我也是小白。目前我做的 ui、接口测试就是用这种框架实现的。
ddt 啊
我现在实现了 取返回结果 组成新的 dict 和 预期结果对比。 暂时觉得这样好,新东西慢慢看。我先收藏,谢谢了
暂时用这种方法,后续看看需求,如果需要对比的 key value 过多,在使用循环遍历。
z = len([i for i in x.items() if i in y.items()])
遍历对比,学习了,感谢!
学习了,感谢!
resp = base.get_response(self.url,'post',**DataAll)
respdict = {'ret':resp['ret'],'msg':resp['msg'],'user_id':resp['user_id'],'user_name':resp['user_name']}
self.assertEqual(eval(TestData[5]),respdict)
我现在写成这样了,感觉还好, respdict 是我从请求的返回结果里取值组成字典跟 TestData[5] 里的预期结果做对比,感觉还可以
学习了,感谢!
import unittest
#整个文件的开始和结束执行
def setUpModule():
print("test module start >>>>>>>>>>>>>>")
def tearDownModule():
print("test module end >>>>>>>>>>>>>>")
class Test(unittest.TestCase):
#整个Test类的开始和结束执行
@classmethod
def setUpClass(cls):
print("test class start =======>")
@classmethod
def tearDownClass(cls):
print("test class end =======>")
#每个用例的开始和结束执行
def setUp(self):
print("test case start -->")
def tearDown(self):
print("test case end -->")
def test_case(self):
print("test case1")
def test_case2(self):
print("test case2")
if __name__ == '__main__':
unittest.main()
请问,这样看来 setupclass-and-teardownclass 仅准备当前 Test 类下面所有的测试用例适用。但如果针对多个.py 文件多个类测试,这种还适用吗?
感谢你的回复。
'''获取token'''
def get_token():
'''请求接口获取token值'''
return token
temp_token = get_token()
'''测试A'''
class A():
token = temp_token
def case1():
token1
'''测试B'''
class B():
token = temp_token
def case1():
token2
这两个测试用例获取的 token1 和 token2 还是不一样。是我调用有问题吗?
请问我哪里写的有问题吗?感谢。
感谢。目前找到了 #11 方法,回头还是要研究装饰器
这个方法我试过,不是我想要的。 我在其他地方找到了 #11 方法,试用了下还可以。
接下来还是要研究装饰器
def tearDown(self):
result = self.defaultTestResult()
self._feedErrorsToResult(result, self._outcome.errors)
error = self.list2reason(result.errors)
failure = self.list2reason(result.failures)
ok = not error and not failure
if not ok:
BasePage.Action(self.driver).save_screenshot()
self.driver.quit()
def list2reason(self, exc_list):
if exc_list and exc_list[-1][0] is self:
return exc_list[-1][1]
装饰器这个不理解。还需要多学习研究。
感谢。找到了方法!
try:
self.assertTrue(self.driver.find_element_by_name(u'xxxxxx'))
except Exception as msg:
print (msg)
public.screenshot("error.png")
1.这个帖子我有看过,如果你说的是 try 捕获异常截图,这样的话断言失败截图功能实现了,但是这条用例显示是 pass
2.这个帖子下面有个装饰器,不知道大佬是否研究过,搞了半天没搞定装饰器的用法。我用的是 python3
请教 能否参考下断言的封装 我之前也想过断言的封装,但是没成功。初学者
另外,为啥成功了 还要去截图呢?
楼主还在吗,可以交流下吗?
我之前用命令安装这几个文件时也提示出错 多试几次就 OK 了 不清楚为啥。。。
def find_toast(self, message, driver):
message = '//*[@text=\'{}\']'.format(message)
element = WebDriverWait(driver, 20, 0.5).until(
expected_conditions.presence_of_element_located((By.XPATH, message)))
# print(element)
return element
用的以上方法,这也是在网上找的 appium 1.6.5
好的,谢谢。晚上回去试试