def testLogin_002(self,username,passwd): '''测试51cto登录''' self.Login(username, passwd) time.sleep(5) self.assertEqual(u'账号/密码错误', self.getErrorMsg()) print self.getErrorMsg() logger.info('登录失败,账户/密码错误!')
def testLogin_001(self,username,passwd): '''测试51cto登录''' self.Login(username, passwd) time.sleep(5) self.assertEqual(u'消息(1)', self.getMsgCount()) self.getMsgCount() logger.info('登录成功!')
def runAuto(): logger.info('开始执行测试脚本...') filename = 'E:/Pyscript/fangche/Report/' + getNowTime() + 'TestReport.html' fp = file(filename, 'wb') runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'接口自动化测试报告', description=u'自动化测试报告详细信息') runner.run(suite())
def suite(): logger.info('this is run suite') dir_case = unittest.defaultTestLoader.discover( 'F:/pythonscirpt/AutoTest/TestCase/', pattern='test_*.py', top_level_dir=None) logger.info('this is run suite done') return dir_case
def suite(): logger.info('this is run suite') dir_case=unittest.defaultTestLoader.discover( 'D:/Eclipseworkspace/AutoTest/src/basetest/', pattern='testfarmer.py', top_level_dir=None ) logger.info('this is run suite done') return dir_case
def test_003(self): u'''测试跳转到登录页面是否成功''' logger.info(u'执行test__003') t.sleep(3) CtoPage(self.driver).getLoginButton() t.sleep(3) self.assertEqual( u'http://home.51cto.com/index?reback=http://www.51cto.com/', self.driver.current_url)
def getUrl(row, apiHost=2, apiUrl=3): # 拼接url try: if row < 1: return u"row不能小于1" else: logger.info(u"正在拼接url...") url = getHost(row, apiHost) + getHost(row, apiUrl) except Exception as e: return e return url
def readFile(rowValue, colValue): # 读取request data try: logger.info(u"正在读取测试用例...") work_book = xlrd.open_workbook( os.path.join(os.path.dirname(os.getcwd()), "Data_Driven\\InterfaceTest.xlsx")) work_sheet = work_book.sheet_by_index(0) # cell_value = work_sheet.cell_value(rowValue, colValue) cell_value = work_sheet.cell(rowValue, colValue).value.encode('utf-8').replace( '\r', '').replace('\n', '') except Exception as e: return e return cell_value
def test_001(self): '''图片上传成功''' logger.info('正在读取_{0}:test_001...'.format( os.path.basename(os.path.abspath(__file__)))) url = selectMysql('Requst_URL', 'chemi_interface_case', 5)[0] # file = str(selectMysql('Request_Data','chemi_interface_case', 5)[0]) file = { "newfile": open( 'C:/Users/Public/Pictures/Sample Pictures/1447007795_9803.jpg', 'rb') } r = requests.post(url=url, files=file) responds = r.json() check_point = responds['code'] print(check_point) print(r.text) assert check_point == "200" logger.info("%s:test__001测试结果正在写入数据库..." % os.path.basename(os.path.abspath(__file__))) if check_point == "200": updataMysql('chemi_interface_case', r.text, 'pass', '图片上传') else: updataMysql('chemi_interface_case', r.text, 'fail', '图片上传') logger.info('%s:test_001执行完毕.' % os.path.basename(os.path.abspath(__file__)))
def test_003(self): '''获取720can设备最新版本''' logger.info('正在读取_%s:test_003...'%os.path.basename(os.path.abspath(__file__))) url = selectMysql('Requst_URL','chemi_interface_case', 4)[0] body = selectMysql('Request_Data','chemi_interface_case', 4)[0] r = requests.post(url=url, data=body) responds = r.json() check_point = responds['code'] print(check_point) print(r.text) assert check_point == 200 logger.info("%s:test__003测试结果正在写入数据库..."%os.path.basename(os.path.abspath(__file__))) if check_point == 200: updataMysql('chemi_interface_case',r.text, 'pass', '获取720can设备最新版本') else: updataMysql('chemi_interface_case',r.text, 'fail', '获取720can设备最新版本') logger.info(u'正在生成测试报告...') logger.info('%s:test_003执行完毕.'%os.path.basename(os.path.abspath(__file__)))
def test_publish001(self, ID, title, content, lable): '''测试发布博客''' logger.info(u'正在登陆...') self.Login('*****@*****.**', 'fanlei200491') logger.info(u'正在发布博客') self.PublishBlog(ID, title, content, lable) # t.sleep(20) self.assertEqual( 'http://blog.51cto.com/user_index.php?action=addblog_new', self.driver.current_url) logger.info(u'博客发布成功')
class ctopage(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.maximize_window() self.driver.implicitly_wait(30) self.driver.get("http://www.51cto.com/") def test_001(self): u'''测试51cto title是否正确''' logger.info(u'执行test__001') self.assertEqual(u'51CTO.COM - 技术成就梦想 - 中国领先的IT技术网站', self.driver.title) def test_002(self): u'''测试51cto 网址是否正确''' logger.info(u'执行test__002') self.assertEqual(u'http://www.51cto.com/', self.driver.current_url) logger.info(u'跳过用例test__003') # @unittest.skip('this case skip') def test_003(self): u'''测试跳转到登录页面是否成功''' logger.info(u'执行test__003') t.sleep(3) CtoPage(self.driver).getLoginButton() t.sleep(3) self.assertEqual( u'http://home.51cto.com/index?reback=http://www.51cto.com/', self.driver.current_url) def tearDown(self): self.driver.quit() @staticmethod def suite(): # 使用TestLoader() # suite = unittest.TestLoader.loadTestsFromTestCase(ctopage) suite = unittest.TestSuite(unittest.makeSuite(ctopage)) return suite
def test_002(self): '''获取720_53设备最新版本''' logger.info('正在读取_%s:test_002...'%os.path.basename(os.path.abspath(__file__))) url = selectMysql('Requst_URL','chemi_interface_case', 3)[0] body = selectMysql('Request_Data','chemi_interface_case', 3)[0] r = requests.post(url=url, data=body) responds = r.json() check_point = responds['msg'] print(check_point) print(r.text) assert check_point == u'执行成功' logger.info("%s:test__002测试结果正在写入数据库..."%os.path.basename(os.path.abspath(__file__))) if check_point == '执行成功': updataMysql('chemi_interface_case',r.text, 'pass','获取720_53设备最新版本') else: updataMysql('chemi_interface_case',r.text, 'fail', '获取720_53设备最新版本') logger.info('%s:test_002执行完毕.'%os.path.basename(os.path.abspath(__file__)))
def test_003(self): '''获取直播评论列表失败''' logger.info('正在读取_%s:test_003...' % os.path.basename(os.path.abspath(__file__))) url = selectMysql('Requst_URL', 'fangche_interface_case', 10)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 10)[0] r = requests.post(url=url, data=body) responds = r.json() check_point = responds['msg'] print(check_point) print(r.text) assert check_point == u'操作失败' logger.info("%s:test__003测试结果正在写入数据库..." % os.path.basename(os.path.abspath(__file__))) if check_point == u'操作失败': updataMysql('fangche_interface_case', r.text, 'pass', '获取直播评论列表失败') else: updataMysql('fangche_interface_case', r.text, 'fail', '获取直播评论列表失败') logger.info('%s:test_003执行完毕.' % os.path.basename(os.path.abspath(__file__)))
def test_002(self): '''直播评论_用户不存在''' logger.info('正在读取_%s:test_002...' % os.path.basename(os.path.abspath(__file__))) url = selectMysql('Requst_URL', 'fangche_interface_case', 15)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 15)[0] r = requests.post(url=url, json=json.loads(body)) responds = r.json() check_point = responds['msg'] print(check_point) print(r.text) assert check_point == u'请重新登录' logger.info("%s:test__002测试结果正在写入数据库..." % os.path.basename(os.path.abspath(__file__))) if check_point == '请重新登录': updataMysql('fangche_interface_case', r.text, 'pass', '直播评论_用户不存在') else: updataMysql('fangche_interface_case', r.text, 'fail', '直播评论_用户不存在') logger.info('%s:test_002执行完毕.' % os.path.basename(os.path.abspath(__file__)))
def test_001(self): '''房车登录成功''' logger.info('正在读取_%s:test_001...' % os.path.basename(os.path.abspath(__file__))) url = selectMysql('Requst_URL', 'fangche_interface_case', 1)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 1)[0] r = requests.post(url=url, data=body) responds = r.json() check_point = responds['data']['username'] print(check_point) print(r.text) assert check_point == '13538152630' logger.info("%s:test__001测试结果正在写入数据库..." % os.path.basename(os.path.abspath(__file__))) if check_point == '13538152630': updataMysql('fangche_interface_case', r.text, 'pass', '房车登录') else: updataMysql('fangche_interface_case', r.text, 'fail', '房车登录') logger.info('%s:test_001执行完毕.' % os.path.basename(os.path.abspath(__file__)))
def test_002(self): '''点赞与打赏,用户不存在/未登陆''' logger.info('正在读取_{0}:test_002...'.format( os.path.basename(os.path.abspath(__file__)))) url = selectMysql('Requst_URL', 'fangche_interface_case', 11)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 11)[0] r = requests.post(url=url, data=body) responds = r.json() check_point = responds['msg'] print(check_point) print(r.text) assert check_point == u'用户未登录' logger.info("{0}:test__002测试结果正在写入数据库...".format( os.path.basename(os.path.abspath(__file__)))) if check_point == '用户未登陆': updataMysql('fangche_interface_case', r.text, 'pass', '点赞与打赏,用户不存在/未登陆') else: updataMysql('fangche_interface_case', r.text, 'fail', '点赞与打赏,用户不存在/未登陆') logger.info('{0}:test_002执行完毕.'.format( os.path.basename(os.path.abspath(__file__))))
def test_001(self): '''获取打赏道具数量''' logger.info('正在读取_%s:test_001...' % os.path.basename(os.path.abspath(__file__))) uid = r_uuid()[1] url = selectMysql('Requst_URL', 'fangche_interface_case', 6)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 6)[0] body = body.replace('${id}', uid) r = requests.post(url=url, data=body) responds = r.json() check_point = responds['msg'] print(check_point) print(r.text) assert check_point == u'执行成功' logger.info("%s:test__001测试结果正在写入数据库..." % os.path.basename(os.path.abspath(__file__))) if check_point == '执行成功': updataMysql('fangche_interface_case', r.text, 'pass', '获取打赏道具数量') else: updataMysql('fangche_interface_case', r.text, 'fail', '获取打赏道具数量') logger.info('%s:test_001执行完毕.' % os.path.basename(os.path.abspath(__file__)))
def test_001(self): '''点赞与打赏''' logger.info('正在读取_{0}:test_001...'.format( os.path.basename(os.path.abspath(__file__)))) uid = r_uuid()[1] url = selectMysql('Requst_URL', 'fangche_interface_case', 3)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 3)[0] body = str(body).replace('${id}', uid) r = requests.post(url=url, data=body) responds = r.json() check_point = responds['code'] print(check_point) print(r.text) assert check_point == 200 logger.info("{0}:test__001测试结果正在写入数据库...".format( os.path.basename(os.path.abspath(__file__)))) if check_point == 200: updataMysql('fangche_interface_case', r.text, 'pass', '点赞与打赏') else: updataMysql('fangche_interface_case', r.text, 'fail', '点赞与打赏') logger.info('{0}:test_001执行完毕.'.format( os.path.basename(os.path.abspath(__file__))))
def test_001(self): '''直播评论''' logger.info('正在读取_%s:test_001...' % os.path.basename(os.path.abspath(__file__))) uid = r_uuid()[1] url = selectMysql('Requst_URL', 'fangche_interface_case', 5)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 5)[0] data = body.replace('${id}', uid) print data # 这里参数的格式限制为json格式,其他接口没有限制参数的格式,坑爹的开发 r = requests.post(url=url, json=json.loads(data)) responds = r.json() check_point = responds['msg'] print(check_point) print(r.text) assert check_point == u'执行成功' logger.info("%s:test__001测试结果正在写入数据库..." % os.path.basename(os.path.abspath(__file__))) if check_point == '执行成功': updataMysql('fangche_interface_case', r.text, 'pass', '直播评论') else: updataMysql('fangche_interface_case', r.text, 'fail', '直播评论') logger.info('%s:test_001执行完毕.' % os.path.basename(os.path.abspath(__file__)))
def test_003(self): '''点赞与打赏, live_type不正确''' logger.info('正在读取_{0}:test_003...'.format( os.path.basename(os.path.abspath(__file__)))) uid = r_uuid()[1] url = selectMysql('Requst_URL', 'fangche_interface_case', 12)[0] body = selectMysql('Request_Data', 'fangche_interface_case', 12)[0] body = str(body).replace('${id}', uid) r = requests.post(url=url, data=body) responds = r.json() check_point = responds['msg'] print(check_point) print(r.text) assert check_point == u'参数不正确' logger.info("{0}:test__003测试结果正在写入数据库...".format( os.path.basename(os.path.abspath(__file__)))) if check_point == '参数不正确': updataMysql('fangche_interface_case', r.text, 'pass', '点赞与打赏,用户不存在/未登陆') else: updataMysql('fangche_interface_case', r.text, 'fail', '点赞与打赏,用户不存在/未登陆') logger.info('{0}:test_003执行完毕.'.format( os.path.basename(os.path.abspath(__file__))))
def test_002(self): u'''测试51cto 网址是否正确''' logger.info(u'执行test__002') self.assertEqual(u'http://www.51cto.com/', self.driver.current_url)
def test_001(self): u'''测试51cto title是否正确''' logger.info(u'执行test__001') self.assertEqual(u'51CTO.COM - 技术成就梦想 - 中国领先的IT技术网站', self.driver.title)