使用python,调用公共类,向类中传入参数可以实现任意接口测试

使用python,调用公共类,向类中传入参数可以实现任意接口测试

向此类中传入任意参数,即可实现接口测试,可以传入url(接口访问地址),user_info(接口body数据),result(响应结果),interface_name(接口名称,用于打印某某接口测试成功)等等

import requests
import csv
class workflow_forgetpassword_v2():
    def user_info(self,url,userinfo,result):
        self.url = url
        self.user_info = userinfo
        response = requests.post(self.url,self.user_info,interface_name).text
        print(response)
        self.result = result
        msg = response.find(self.result)
        if msg > 0:
            print(interface_name+"接口测试成功")
        else:
            print(interface_name+"接口测试失败")

if __name__=="__main__":
    workflow_forgetpassword_v2_obj = workflow_forgetpassword_v2()
    '''
    url = "http://192.168.0.5:8080/jwshoplogin/user/login.do"
    user_info = {
        "username":"李超",
        "password":"123123"
    }
    result = "登录成功"
'''
    path = "./test_data/login_test_data.csv"
    testdata_file = open(path,"r")
    testdata_table = csv.reader(testdata_file)

    for row in testdata_table:
        url = row[3]
        for i in range(7,7+int(row[6])):

            user_info ={
                "username":row[0],
                "password":row[1]
            }
        result = str(row[5])
        interface_name = row[1]
        workflow_forgetpassword_v2_obj.user_info(url,user_info,result,interface_name)

但是有一定的要求,接口方法必须一致,这个类中接口方法都是post,需要测试的接口方法也必须都是post

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 答:我可以为您提供一个使用Python语言和Page Object设计模式实现接口测试用例的示例,请参考以下代码:from pageobjects.checkout_page import CheckoutPagedef test_checkout(): checkout_page = CheckoutPage() checkout_page.open() checkout_page.fill_billing_information() checkout_page.fill_shipping_information() checkout_page.fill_payment_information() checkout_page.submit_order() assert checkout_page.order_confirmation_displayed() ### 回答2: 使用Python编写接口测试用例可以使用unittest框架,而Page Object设计模式可以提高测试用例的可维护性和可扩展性。 首先,需要导入所需的库,包括unittest和requests。然后,可以定义一个基,该基用于封装HTTP请求和响应,并提供一些常用的接口测试方法。 接下来,可以创建一个页面对象,该代表要测试的接口。页面对象的作用是将具体的接口请求方法和数据封装起来,以便在测试用例使用。 在页面对象,可以定义各种接口的请求方法,并使用requests库发送HTTP请求。接口的请求方法可以包括GET、POST等方法,可以传入请求的URL、header、参数、body等参数,并返回相应的响应。 然后,可以创建一个测试用例,该继承自unittest.TestCase,并使用setUp方法初始化页面对象,并在测试方法调用页面对象的接口方法进行接口测试。可以使用断言方法来验证接口的返回结果是否符合预期。 最后,在测试用例可以使用unittest框架提供的一些装饰器(如@classmethod、@staticmethod)来控制测试用例的执行顺序和测试用例的预处理和后处理。 通过以上步骤,可以实现一个简单的接口测试用例demo,并使用Page Object设计模式来提高测试用例的可维护性和可扩展性。将各个接口的请求方法和数据封装到页面对象,可以使测试用例更加清晰、可读性更高,也方便后续的维护和扩展。同时,使用unittest框架可以提供丰富的测试用例管理和执行功能,可以方便地运行和管理接口测试用例。 ### 回答3: 使用Python语言编写接口测试用例可以灵活地使用Python的各种库和框架来实现自动化测试。而使用Page Object设计模式可以将页面元素与测试代码分离,提高代码的可读性和可维护性。 首先,需要安装Python的相关库,比如requests库用于发送HTTP请求,unittest库用于编写测试用例等。 接下来,可以创建一个基BasePage,该定义了一些通用的方法,比如发送HTTP请求、解析响应等。接口在测试需要与此进行交互。 然后,为每个接口创建一个Page,该继承自BasePage,并定义了该接口的测试方法。在Page,可以定义发送请求的方法、解析响应的方法和对结果进行断言的方法。 最后,创建一个测试,在该实例化所有Page对象,并调用各个Page对象的测试方法。通过断言来验证接口的返回结果是否符合预期。 下面是一个简单的接口测试用例demo的示例代码: ```python import requests import unittest class BasePage: def send_request(self, method, url, data=None, headers=None): if method.upper() == 'GET': response = requests.get(url, params=data, headers=headers) elif method.upper() == 'POST': response = requests.post(url, json=data, headers=headers) else: raise Exception('Invalid request method') return response def parse_response(self, response): return response.json() class GetUserPage(BasePage): def get_user_info(self, user_id): url = f'https://api.example.com/users/{user_id}' response = self.send_request('GET', url) return self.parse_response(response) class TestInterface(unittest.TestCase): def setUp(self): self.get_user_page = GetUserPage() def test_get_user_info(self): user_info = self.get_user_page.get_user_info('123') self.assertEqual(user_info.get('id'), '123') if __name__ == '__main__': unittest.main() ``` 在以上示例,BasePage封装了发送HTTP请求和解析响应的方法,GetUserPage继承自BasePage实现了获取用户信息的接口测试方法。TestInterface继承自unittest.TestCase,用于执行测试用例。在test_get_user_info方法,实例化了GetUserPage对象,并调用其get_user_info方法来测试获取用户信息的接口。最后通过断言来验证接口返回的结果是否符合预期。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西门一刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值