禅道调用Python接口导入测试用例

一、准备条件——使用禅道自己搭建和部署测试环境

1)在官网下载禅道禅道11.7版本发布,主要修复Bug,升级禅道客户端 - 禅道下载 - 禅道开源项目管理软件->放在根目录下解压处XAMPP文件夹->点击start.exe->点击访问禅道即可进入登录页面,在左下角有一个Apache的用户验证访问选项,测试的时候可以选择不勾选这个选项,直接进入禅道的登录页面->禅道的登录账号和密码默认是:账号:admin 密码:123456,首次登录需要修改密码。

  二、框架总体规划及完成禅道页面登录

如下图,我们需要做一些准备工作搭建测试框架,首先需要新建新建测试工程,我在这里建立的是unittest_train,随后在工程下新建如下5个模块或代码文件。

1. 用例case:包含测试用例文件夹和BUG用例文件夹,test1.py和test2.py分别用不同的def函数编写不同的测试用例脚本。

2. log日志。

3. report:这个文件夹用来输出测试报告及测试截图。

4. untils。

5. run.py:这个文件用来批量运行想要测试的用例集,完成到这里准备工作差不多就完成了,接着需要开始创建测试用例了。

 三、在selenium中使用unittest新增和修改测试用例

举个小例子,我test2.py中编写两条测试用例脚本:

第一条case是test_00login,测试目的是:为了验证是否能正常启动浏览器,打开禅道登陆界面

第二条case是test_01addcase,测试目的是:为了验证是否能正常启动浏览器,打开禅道登陆界面并完成自动登录,并进入到zentao测试平台,自动添加测试用例test_01addcase,并验证是否建立于平台上的case是否正确

import unittest #导入框架
  from selenium import webdriver #导入驱动和selenium库
  import time as t #导入时间模块
  class test_2(unittest.TestCase):
      def test_00login(self):
              self.driver = webdriver.Chrome()
              self.driver.get('http://127.0.0.1/zentao/user-login.html')
              pass
      def test_01addcase(self):
              print('每条用例开始前的操作...')
              self.driver = webdriver.Chrome()
              self.driver.get('')
              self.driver.get('http://127.0.0.1/zentao/user-login.html')
              self.driver.maximize_window()
              t.sleep(7)
              self.driver.get_screenshot_as_file('E:\\pythontrain\\unittest_train\\report\\png\\1.png')#截图
              self.driver.find_element_by_xpath('//*[@id="account"]').send_keys('admin')
              self.driver.find_element_by_xpath('//*[@name="password"]').send_keys('luoyiran123456')#登陆输入密码
              self.driver.find_element_by_xpath('//*[@id="submit"]').click()#点击提交
              t.sleep(2)
              self.driver.get_screenshot_as_file('E:\\pythontrain\\unittest_train\\report\\png\\2.png')  # 截图
              self.driver.find_element_by_xpath('//*[@id="navbar"]/ul/li[4]/a').click()#点击“测试”
              t.sleep(2)
              self.driver.find_element_by_xpath('//*[@id="subNavbar"]/ul/li[2]/a').click()#点击“用例”
              t.sleep(2)
              self.driver.get_screenshot_as_file('E:\\pythontrain\\unittest_train\\report\\png\\3.png')
              self.driver.find_element_by_xpath('//*[@id="mainMenu"]/div[3]/a[2]').click()#点击“建用例”
              t.sleep(2)
              self.driver.find_element_by_xpath('//*[@id="title"]').send_keys('test_01addcase')
              t.sleep(3)
              self.driver.execute_script("scroll(0,1000)")
              t.sleep(2)
              self.driver.find_element_by_xpath('//*[@id="submit"]').click()## 因为在点击保存按钮的时候保存按钮是隐藏在下面的,所以需要通过滚轮让y坐标增加,也就是往下滚看得到保存按钮
              t.sleep(2)
              self.assertIn('test_01addcase', self.driver.page_source)#这里就需要用上断言,判断刚刚创建的用例是否存在
              self.driver.get_screenshot_as_file('E:\\pythontrain\\unittest_train\\report\\png\\用例创建完成.png')
              t.sleep(5)
              pass
  if  __name__ =='__main__':
      unittest.main()

四、执行测试用例集——执行unittest测试用例集 runner.run(suite)

 import unittest
  from selenium import webdriver
  import time as t
  from selenium.webdriver.common.by import By
  from selenium.webdriver.common.action_chains import ActionChains
  import win32api
  import HTMLTestRunner
  import unittest
  #-*- coding:utf-8 -*-
  def all_case():
      case_dir = r"E:\pythontrain\unittest_train\case\test_case"  #这里填写你刚刚创建的case文件夹的目录
      testcase = unittest.TestSuite()
      discover = unittest.defaultTestLoader.discover(case_dir,pattern='test*.py',top_level_dir=None)#discover方法筛选出来的用例,循环添加到测试套件中
      for test_suit in discover:
          for test_case in test_suit:
              testcase.addTest(test_case)#添加用例到testcase
          print(testcase)
          return testcase
  if __name__=="__main__":
      # runner = unittest.TextTestRunner()
      report_path = r"E:\pythontrain\unittest_train\report\html\result.html"  # 这里就是你创建的result.html
      fp = open(report_path, 'wb')
      runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'这是我的自动化测试报告', description=u'测试用例执行情况:')
      # run所有用例
      runner.run(all_case())
      fp.close()

五、unittest完成HTML测试报告的生成

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python接口测试用例是用Python编写的用于测试接口功能和性能的代码。它使用unittest测试框架来组织和运行测试用例。一个简单的Python接口测试用例的示例代码如下: ```python import requests import unittest class APITestCase(unittest.TestCase): def setUp(self): # 设置测试的URL和参数 self.url = "http://example.com/api" self.params = {"param1": "value1", "param2": "value2"} def test_api(self): # 发送请求 response = requests.get(self.url, params=self.params) # 断言响应状态码是否为200 self.assertEqual(response.status_code, 200) # 断言响应内容是否符合预期 self.assertIn("expected_value", response.text) def tearDown(self): # 清理测试环境 pass if __name__ == '__main__': unittest.main() ``` 在这个示例中,我们使用unittest框架创建了一个继承自unittest.TestCase的测试类。在setUp方法中设置了测试的URL和参数,在test_api方法中发送请求并对响应进行断言。最后,在tearDown方法中可以进行一些清理操作。通过运行`unittest.main()`来执行测试用例。 这只是一个简单的示例,实际的接口测试用例可能会更加复杂,需要根据具体的业务需求和测试需求进行设计。可以根据接口的输入、输出、边界条件、异常情况等因素来编写更全面的测试用例。 #### 引用[.reference_title] - *1* [python简单的接口测试实例](https://blog.csdn.net/a836586387/article/details/90713450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python接口自动化之接口测试用例(详解)](https://blog.csdn.net/nhb687095/article/details/129879852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值