当前位置:网站首页>Interface joint debugging test script optimization v4.0
Interface joint debugging test script optimization v4.0
2022-07-06 23:46:00 【Night * star】
introduction : Next chapter Interface joint commissioning test script optimization v2.0, This chapter optimizes script parameters , Put the parameters into the file , After the implementation script is compiled once , Later, you only need to maintain files .
Catalog
Optimization task :
Put the relevant interface test parameters into csv In file , Read the relevant parameters through the program , Pass it into the interface test script .
Problems encountered :
Create a csv file , Write the interface parameters into the file ,csv The documents are as follows :
- For common parameters url、expected_result、interfacename Just call it directly .
- But because each interface has different parameters , The number of parameters is also different , You need to use the loop again to read .
- Here, the number of parameters is written directly in front of the parameters , Then define a j The variable is equal to the number of parameters .
- It's not hard to find out ,H Column starts as a loop index The value is 7, And the end value of the loop is 2*j+7.
- So the following different parameter data can be read in the loop , The code reference is as follows .
Script implementation :
# Use parameterization technology to optimize the test script of joint debugging of multiple interfaces import requests import csv class Workflow_Test_v4(): def userinterface_test(self, url, userinfo, expected_result, interfacename): response = requests.post(url, data=userinfo).text print(response) r = response.find(expected_result) if r > 0: print(interfacename, " The test passed ") else: print(interfacename, " Test to fail ") if __name__ == '__main__': workflowobj4 = Workflow_Test_v4() file = open("test1.csv", "r") table = csv.reader(file) for row in table: # Read relevant contents line by line , And set it as the corresponding parameter url = row[1] expected_result = row[3] interfacename = row[5] # print("url yes :", url, " ", "expected_result yes :", expected_result, " ","interfacename yes :", interfacename) # Read interface test data userinfo = {} j = int(row[6]) for i in range(7, 2*j+7, 2): userinfo[row[i]] = row[i+1] # print(userinfo) # Instantiate the test class , Incoming test data workflowobj4.userinterface_test(url, userinfo, expected_result, interfacename)
Summary :
- The problem of script parameterization is mainly to find the rules of parameters
- Common parameters are :
- url: Interface access address
- expected_result: The interface responds to the expected results
- interfacename: The name of the interface
- Parameters of personality : Interface test data is different
- Manually count the number of test data , Write it into the test data template
- Circulation mode : Find the law of circulation , Just analyze a few values
- Initial value ----index = 7
- Termination value ----index = 2*j+7( because python Can't get the last place , So take it as the end value of the range )
- Change a few at a time ---- Because parameters have two values: key value and attribute , So when taking down a parameter , want i+2.
- Save the found parameters in the dictionary : Dictionary name [key] = value namely userinfo[row[i]] = row[i+1]
advantage :
Future interface tests , You only need to maintain the document of interface test data , There is no need to modify any code .
边栏推荐
- Talking about the current malpractice and future development
- 本地部署 zeppelin 0.10.1
- The programmer said, "I'm 36 years old, and I don't want to be rolled, let alone cut."
- 每日刷题记录 (十五)
- There are only two TXT cells in the ArrayExpress database. Can you only download the sequencing run matrix from line to ENA?
- Zero code and high return. How to use 40 sets of templates to meet 95% of the reporting needs in the work
- Cloud native (32) | kubernetes introduction to platform storage system
- Unity 颜色板|调色板|无级变色功能
- Asset security issues or constraints on the development of the encryption industry, risk control + compliance has become the key to breaking the platform
- A novice asks a question. I am now deployed on a single machine. I submitted an SQL job and it runs normally. If I restart the service job, it will disappear and I will have to
猜你喜欢
Basic chart interpretation of "Oriental selection" hot out of circle data
[OFDM communication] OFDM system signal detection based on deep learning with matlab code
谁说新消费品牌大溃败?背后有人赢麻了
Isomorphism + cross end, knowing applet +kbone+finclip is enough!
The worse the AI performance, the higher the bonus? Doctor of New York University offered a reward for the task of making the big model perform poorly
Cover fake big empty talk in robot material sorting
基于SSM框架实现的房屋租赁管理系统
内网穿透zerotier 外网(手机、电脑等)访问内网设备(树莓派、NAS、电脑等)
(1) Chang'an chain learning notes - start Chang'an chain
Matplotlib draws a histogram and adds values to the graph
随机推荐
(1) Chang'an chain learning notes - start Chang'an chain
公链与私链在数据隐私和吞吐量上的竞争
JS addition, deletion, modification and query of JSON array
Competition between public and private chains in data privacy and throughput
AI金榜题名时,MLPerf榜单的份量究竟有多重?
js對JSON數組的增删改查
One minute to learn how to install the system, win7 XP, win10 and win11 become very simple
Can async i/o be implemented by UDF operator and then called by SQL API? At present, it seems that only datastre can be seen
每年 2000 亿投资进入芯片领域,「中国芯」创投正蓬勃
Realize colorful lines and shape your heart
Penetration test --- database security: detailed explanation of SQL injection into database principle
Per capita Swiss number series, Swiss number 4 generation JS reverse analysis
mysql-cdc 的jar包 ,在flink运行模式下,是不是要放在不同的地方呢?
求帮助xampp做sqlilab是一片黑
今日睡眠质量记录78分
若依请求url中带有jsessionid的解决办法
Leetcode problem solving - 889 Construct binary tree according to preorder and postorder traversal
Server SMP, NUMA, MPP system learning notes.
吴恩达2022机器学习课程评测来了!
Basic chart interpretation of "Oriental selection" hot out of circle data