自动生成测试用例_接口测试用例自动生成工具

前言

写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。

har2case

我们先来了解一下另一个项目har2case 他的工作原理就是将当前主流的抓包工具和浏览器都支持将抓取得到的数据包导出为标准通用的 HAR 格式(HTTP Archive),然后 HttpRunner 将 HAR 格式的数据包转换为YAML/JSON格式的测试用例文件。 这里使用charles抓取百度首页进行演示

选中百度请求,右键点击Export Session,导出到/hrun_demo/har下,命名为baidu,格式选择HTTP Archive(.har),点击save

此时,har文件夹下会多出baidu.har文件

har2case生成用例

可以使用命令har2case将Har文件转成测试用例,先使用命令har2case -h查看帮助文档

(httprunner_env) ➜  har har2case -h       
usage: har2case har2case [-h] [-2y] [-2j] [--filter FILTER][--exclude EXCLUDE][har_source_file]positional arguments:har_source_file       Specify HAR source fileoptional arguments:-h, --help            show this help message and exit-2y, --to-yml, --to-yamlConvert to YAML format, if not specified, convert topytest format by default.-2j, --to-json        Convert to JSON format, if not specified, convert topytest format by default.--filter FILTER       Specify filter keyword, only url include filter stringwill be converted.--exclude EXCLUDE     Specify exclude keyword, url that includes excludestring will be ignored, multiple keywords can bejoined with '|'
  • -2y:转换为yaml格式,如果没有指定,默认转换为pytest格式
  • -2j:转换为json格式,如果没有指定,默认转换为pytest格式
  • –filter:指定筛选关键字,仅url包含筛选字符串将被转换。
  • –exclude:指定exclude关键字,包括exclude的url字符串将被忽略,可以选择多个关键字以“|”联接

生成pytest格式的用例

HttpRunner 3.0.7版本开始,har2case将HAR文件默认转换成pytest,强烈建议pytest格式而不是以前的YAML / JSON格式编写和维护测试用例。 这里也是博主从pytest框架转换为httprunner框架的原因之一 运行命令将har文件转换成测试用例:

(httprunner_env) ➜  har har2case baidu.har
2021-02-05 11:27:32.945 | INFO     | httprunner.ext.har2case.core:gen_testcase:356 - Start to generate testcase from /Users/jkc/hrun/hrun_demo/har/baidu.har
2021-02-05 11:27:32.945 | INFO     | httprunner.ext.har2case.core:_make_testcase:347 - Extract info from HAR file and prepare for testcase.
2021-02-05 11:27:32.948 | INFO     | httprunner.compat:ensure_testcase_v3:219 - ensure compatibility with testcase format v2
2021-02-05 11:27:32.948 | INFO     | httprunner.loader:load_dot_env_file:127 - Loading environment variables from /Users/jkc/hrun/hrun_demo/.env
2021-02-05 11:27:32.949 | DEBUG    | httprunner.utils:set_os_environ:33 - Set OS environment variable: USERNAME
2021-02-05 11:27:32.949 | DEBUG    | httprunner.utils:set_os_environ:33 - Set OS environment variable: PASSWORD
2021-02-05 11:27:32.950 | INFO     | httprunner.make:make_testcase:349 - start to make testcase: /Users/jkc/hrun/hrun_demo/har/baidu.har
2021-02-05 11:27:32.951 | INFO     | httprunner.make:make_testcase:442 - generated testcase: /Users/jkc/hrun/hrun_demo/har/baidu_test.py
2021-02-05 11:27:32.952 | INFO     | httprunner.make:format_pytest_with_black:170 - format pytest cases with black ...
reformatted /Users/songyingkai/hrun/hrun_demo/har/baidu_test.py
All done! ✨ 🍰 ✨
1 file reformatted.
2021-02-05 11:27:33.181 | INFO     | httprunner.ext.har2case.core:gen_testcase:377 - generated testcase: /Users/jkc/hrun/hrun_demo/har/baidu_test.py
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

生成的pytest文件是标准的python文件,如下所示:

# NOTE: Generated By HttpRunner v3.1.4
# FROM: har/baidu.harfrom httprunner import HttpRunner, Config, Step, RunRequest, RunTestCaseclass TestCaseBaidu(HttpRunner):config = Config("testcase description").verify(False)teststeps = [Step(RunRequest("/").get("https://www.baidu.com/").with_headers(**{"Host": "www.baidu.com","Connection": "keep-alive","Cache-Control": "max-age=0","sec-ch-ua": '"Chromium";v="88", "Google Chrome";v="88", ";Not A Brand";v="99"',"sec-ch-ua-mobile": "?0","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Sec-Fetch-Site": "none","Sec-Fetch-Mode": "navigate","Sec-Fetch-User": "?1","Sec-Fetch-Dest": "document","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Cookie": "PSTM=1610459846; BAIDUID=A40AD6AD806FBBED1033903732FFA453:FG=1; BD_UPN=123253; BIDUPSID=898B917A8EF92E036B0F06DC792638A1; __yjs_duid=1_c391922164c20246fd49e4ad821d46c41610613507042; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=33423_33513_33403_33273_33594_33585_26350_33568; delPer=0; BD_CK_SAM=1; PSINO=5; BAIDUID_BFESS=A40AD6AD806FBBED1033903732FFA453:FG=1; COOKIE_SESSION=86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9; BD_HOME=1; ZD_ENTRY=baidu; BA_HECTOR=20ag2180aga18k21mm1g1pegu0r",}).with_cookies(**{"PSTM": "1610459846","BAIDUID": "A40AD6AD806FBBED1033903732FFA453:FG=1","BD_UPN": "123253","BIDUPSID": "898B917A8EF92E036B0F06DC792638A1","__yjs_duid": "1_c391922164c20246fd49e4ad821d46c41610613507042","BDORZ": "B490B5EBF6F3CD402E515D22BCDA1598","H_PS_PSSID": "33423_33513_33403_33273_33594_33585_26350_33568","delPer": "0","BD_CK_SAM": "1","PSINO": "5","BAIDUID_BFESS": "A40AD6AD806FBBED1033903732FFA453:FG=1","COOKIE_SESSION": "86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9","BD_HOME": "1","ZD_ENTRY": "baidu","BA_HECTOR": "20ag2180aga18k21mm1g1pegu0r",}).validate().assert_equal("status_code", 200).assert_equal('headers."Content-Type"', "text/html;charset=utf-8")),]if __name__ == "__main__":TestCaseBaidu().test_start()

可以使用命令hrunpytest运行,实际上,hrun是pytest的封装,效果基本相同。

(httprunner_env) ➜  har hrun baidu_test.py 
2021-02-05 14:03:39.279 | INFO     | httprunner.make:__make:512 - make path: /Users/jkc/hrun/hrun_demo/har/baidu_test.py
2021-02-05 14:03:39.279 | INFO     | httprunner.make:format_pytest_with_black:170 - format pytest cases with black ...
No Path provided. Nothing to do 😴
2021-02-05 14:03:39.457 | INFO     | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.1.4
============================================= test session starts =============================================
platform darwin -- Python 3.7.6, pytest-5.4.3, py-1.10.0, pluggy-0.13.1
rootdir: /Users/songyingkai/hrun/hrun_demo/har
plugins: metadata-1.11.0, html-2.1.1
collected 1 item                                                                                              baidu_test.py .                                                                                         [100%]============================================== 1 passed in 0.25s ==============================================
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

(httprunner_env) ➜  har pytest baidu_test.py 
============================================= test session starts =============================================
platform darwin -- Python 3.7.6, pytest-5.4.3, py-1.10.0, pluggy-0.13.1
rootdir: /Users/songyingkai/hrun/hrun_demo/har
plugins: metadata-1.11.0, html-2.1.1
collected 1 item                                                                                              baidu_test.py .                                                                                         [100%]============================================== warnings summary ===============================================
baidu_test.py::TestCaseBaidu::test_start/Users/songyingkai/.virtualenvs/httprunner_env/lib/python3.7/site-packages/urllib3/connectionpool.py:1020: InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.baidu.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warningsInsecureRequestWarning,-- Docs: https://docs.pytest.org/en/latest/warnings.html
======================================== 1 passed, 1 warning in 0.47s =========================================

生成测试用例(YAML/JSON)

当然,你也可以生成YAML/JSON测试用例。 只需要在har2case命令后 添加-2y/--to-yml-2j/--to-json

生成YAML格式:

har har2case baidu.har -2y

(httprunner_env) ➜  har har2case baidu.har -2y
2021-02-05 14:23:48.484 | INFO     | httprunner.ext.har2case.core:gen_testcase:356 - Start to generate testcase from /Users/jkc/hrun/hrun_demo/har/baidu.har
2021-02-05 14:23:48.484 | INFO     | httprunner.ext.har2case.core:_make_testcase:347 - Extract info from HAR file and prepare for testcase.
2021-02-05 14:23:48.488 | INFO     | httprunner.ext.har2case.utils:dump_yaml:108 - dump testcase to YAML format.
2021-02-05 14:23:48.492 | INFO     | httprunner.ext.har2case.utils:dump_yaml:115 - Generate YAML testcase successfully: /Users/jkc/hrun/hrun_demo/har/baidu.yml
2021-02-05 14:23:48.493 | INFO     | httprunner.ext.har2case.core:gen_testcase:377 - generated testcase: /Users/jkc/hrun/hrun_demo/har/baidu.yml
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

查看生成的yaml文件

config:name: testcase descriptionvariables: {}verify: false
teststeps:
-   name: /request:cookies:BAIDUID: A40AD6AD806FBBED1033903732FFA453:FG=1BAIDUID_BFESS: A40AD6AD806FBBED1033903732FFA453:FG=1BA_HECTOR: 20ag2180aga18k21mm1g1pegu0rBDORZ: B490B5EBF6F3CD402E515D22BCDA1598BD_CK_SAM: '1'BD_HOME: '1'BD_UPN: '123253'BIDUPSID: 898B917A8EF92E036B0F06DC792638A1COOKIE_SESSION: 86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9H_PS_PSSID: '33423_33513_33403_33273_33594_33585_26350_33568'PSINO: '5'PSTM: '1610459846'ZD_ENTRY: baidu__yjs_duid: 1_c391922164c20246fd49e4ad821d46c41610613507042delPer: '0'headers:Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7Cache-Control: max-age=0Connection: keep-aliveCookie: PSTM=1610459846; BAIDUID=A40AD6AD806FBBED1033903732FFA453:FG=1;BD_UPN=123253; BIDUPSID=898B917A8EF92E036B0F06DC792638A1; __yjs_duid=1_c391922164c20246fd49e4ad821d46c41610613507042;BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=33423_33513_33403_33273_33594_33585_26350_33568;delPer=0; BD_CK_SAM=1; PSINO=5; BAIDUID_BFESS=A40AD6AD806FBBED1033903732FFA453:FG=1;COOKIE_SESSION=86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9;BD_HOME=1; ZD_ENTRY=baidu; BA_HECTOR=20ag2180aga18k21mm1g1pegu0rHost: www.baidu.comSec-Fetch-Dest: documentSec-Fetch-Mode: navigateSec-Fetch-Site: noneSec-Fetch-User: ?1Upgrade-Insecure-Requests: '1'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36(KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36sec-ch-ua: '"Chromium";v="88", "Google Chrome";v="88", ";Not A Brand";v="99"'sec-ch-ua-mobile: ?0method: GETurl: https://www.baidu.com/validate:-   eq:- status_code- 200-   eq:- headers.Content-Type- text/html;charset=utf-8

生成JSON格式:

har2case baidu.har -2j
(httprunner_env) ➜  har har2case baidu.har -2j
2021-02-05 14:25:35.729 | INFO     | httprunner.ext.har2case.core:gen_testcase:356 - Start to generate testcase from /Users/jkc/hrun/hrun_demo/har/baidu.har
2021-02-05 14:25:35.730 | INFO     | httprunner.ext.har2case.core:_make_testcase:347 - Extract info from HAR file and prepare for testcase.
2021-02-05 14:25:35.732 | INFO     | httprunner.ext.har2case.utils:dump_json:121 - dump testcase to JSON format.
2021-02-05 14:25:35.733 | INFO     | httprunner.ext.har2case.utils:dump_json:130 - Generate JSON testcase successfully: /Users/jkc/hrun/hrun_demo/har/baidu.json
2021-02-05 14:25:35.733 | INFO     | httprunner.ext.har2case.core:gen_testcase:377 - generated testcase: /Users/jkc/hrun/hrun_demo/har/baidu.json
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

查看生成的json格式

{"config": {"name": "testcase description","variables": {},"verify": false},"teststeps": [{"name": "/","request": {"url": "https://www.baidu.com/","method": "GET","cookies": {"PSTM": "1610459846","BAIDUID": "A40AD6AD806FBBED1033903732FFA453:FG=1","BD_UPN": "123253","BIDUPSID": "898B917A8EF92E036B0F06DC792638A1","__yjs_duid": "1_c391922164c20246fd49e4ad821d46c41610613507042","BDORZ": "B490B5EBF6F3CD402E515D22BCDA1598","H_PS_PSSID": "33423_33513_33403_33273_33594_33585_26350_33568","delPer": "0","BD_CK_SAM": "1","PSINO": "5","BAIDUID_BFESS": "A40AD6AD806FBBED1033903732FFA453:FG=1","COOKIE_SESSION": "86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9","BD_HOME": "1","ZD_ENTRY": "baidu","BA_HECTOR": "20ag2180aga18k21mm1g1pegu0r"},"headers": {"Host": "www.baidu.com","Connection": "keep-alive","Cache-Control": "max-age=0","sec-ch-ua": "\"Chromium\";v=\"88\", \"Google Chrome\";v=\"88\", \";Not A Brand\";v=\"99\"","sec-ch-ua-mobile": "?0","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Sec-Fetch-Site": "none","Sec-Fetch-Mode": "navigate","Sec-Fetch-User": "?1","Sec-Fetch-Dest": "document","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Cookie": "PSTM=1610459846; BAIDUID=A40AD6AD806FBBED1033903732FFA453:FG=1; BD_UPN=123253; BIDUPSID=898B917A8EF92E036B0F06DC792638A1; __yjs_duid=1_c391922164c20246fd49e4ad821d46c41610613507042; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=33423_33513_33403_33273_33594_33585_26350_33568; delPer=0; BD_CK_SAM=1; PSINO=5; BAIDUID_BFESS=A40AD6AD806FBBED1033903732FFA453:FG=1; COOKIE_SESSION=86630_1_9_6_41_5_0_0_8_2_1_0_0_0_71_0_1612340974_1611912344_1612427533%7C9%23262013_235_1611912339%7C9; BD_HOME=1; ZD_ENTRY=baidu; BA_HECTOR=20ag2180aga18k21mm1g1pegu0r"}},"validate": [{"eq": ["status_code",200]},{"eq": ["headers.Content-Type","text/html;charset=utf-8"]}]}]
}

 YAML/JSON用例和pytest用例文件含有相同的信息,也可以使用hrun运行。

(httprunner_env) ➜  har hrun baidu.yml    
2021-02-05 14:28:05.573 | INFO     | httprunner.make:__make:512 - make path: /Users/jkc/hrun/hrun_demo/har/baidu.yml
2021-02-05 14:28:05.582 | INFO     | httprunner.compat:ensure_testcase_v3:219 - ensure compatibility with testcase format v2
2021-02-05 14:28:05.582 | INFO     | httprunner.loader:load_dot_env_file:127 - Loading environment variables from /Users/jkc/hrun/hrun_demo/.env
2021-02-05 14:28:05.582 | DEBUG    | httprunner.utils:set_os_environ:33 - Set OS environment variable: USERNAME
2021-02-05 14:28:05.582 | DEBUG    | httprunner.utils:set_os_environ:33 - Set OS environment variable: PASSWORD
2021-02-05 14:28:05.583 | INFO     | httprunner.make:make_testcase:349 - start to make testcase: /Users/jkc/hrun/hrun_demo/har/baidu.yml
2021-02-05 14:28:05.583 | INFO     | httprunner.make:make_testcase:442 - generated testcase: /Users/jkc/hrun/hrun_demo/har/baidu_test.py
2021-02-05 14:28:05.584 | INFO     | httprunner.make:format_pytest_with_black:170 - format pytest cases with black ...
reformatted /Users/songyingkai/hrun/hrun_demo/har/baidu_test.py
All done! ✨ 🍰 ✨
1 file reformatted.
2021-02-05 14:28:05.769 | INFO     | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.1.4
============================================= test session starts =============================================
platform darwin -- Python 3.7.6, pytest-5.4.3, py-1.10.0, pluggy-0.13.1
rootdir: /Users/songyingkai/hrun/hrun_demo/har
plugins: metadata-1.11.0, html-2.1.1
collected 1 item                                                                                              baidu_test.py .                                                                                         [100%]============================================== 1 passed in 0.26s ==============================================
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit
(httprunner_env) ➜  har hrun baidu.json 
2021-02-05 14:28:25.793 | INFO     | httprunner.make:__make:512 - make path: /Users/jkc/hrun/hrun_demo/har/baidu.json
2021-02-05 14:28:25.794 | INFO     | httprunner.compat:ensure_testcase_v3:219 - ensure compatibility with testcase format v2
2021-02-05 14:28:25.794 | INFO     | httprunner.loader:load_dot_env_file:127 - Loading environment variables from /Users/jkc/hrun/hrun_demo/.env
2021-02-05 14:28:25.794 | DEBUG    | httprunner.utils:set_os_environ:33 - Set OS environment variable: USERNAME
2021-02-05 14:28:25.794 | DEBUG    | httprunner.utils:set_os_environ:33 - Set OS environment variable: PASSWORD
2021-02-05 14:28:25.795 | INFO     | httprunner.make:make_testcase:349 - start to make testcase: /Users/jkc/hrun/hrun_demo/har/baidu.json
2021-02-05 14:28:25.795 | INFO     | httprunner.make:make_testcase:442 - generated testcase: /Users/jkc/hrun/hrun_demo/har/baidu_test.py
2021-02-05 14:28:25.795 | INFO     | httprunner.make:format_pytest_with_black:170 - format pytest cases with black ...
reformatted /Users/songyingkai/hrun/hrun_demo/har/baidu_test.py
All done! ✨ 🍰 ✨
1 file reformatted.
2021-02-05 14:28:25.975 | INFO     | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.1.4
============================================= test session starts =============================================
platform darwin -- Python 3.7.6, pytest-5.4.3, py-1.10.0, pluggy-0.13.1
rootdir: /Users/songyingkai/hrun/hrun_demo/har
plugins: metadata-1.11.0, html-2.1.1
collected 1 item                                                                                              baidu_test.py .                                                                                         [100%]============================================== 1 passed in 0.31s ==============================================
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/468357.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Node.js开发-HTTP协议

HTTP协议 1) 概念2) 请求报文的组成3) HTTP 的请求行4) HTTP 请求头5) HTTP 的请求体6) 响应报文的组成7) 创建 HTTP 服务8) 获取 HTTP请求报文9) 设置 HTTP 响应报文10) 设置资源类型(mime类型)11) GET和POST请求的区别 1) 概念 HTTP(hyper…

国产手机大量采用国产OLED屏幕,三星屏占比大幅减少了

在以往采用三星OLED屏幕曾是国产期间手机的标配,然而2023年国产手机品牌突然大幅减少了对三星OLED屏幕的采用,而大幅增加了国产OLED屏幕的采用比例,推动国产OLED屏幕的市占率大幅上涨。 2023年由于高通提前发布销量8G3,由此导致中…

[C#] 如何调用Python脚本程序

为什么需要C#调用python? 有以下几个原因需要C#调用Python: Python拥有丰富的生态系统:Python有很多强大的第三方库和工具,可以用于数据科学、机器学习、自然语言处理等领域。通过C#调用Python,可以利用Python的生态系…

控制台打印进度条

引言 进度条是用户界面中常见的组件,尤其是在执行长时间操作时。虽然在控制台应用程序中没有图形用户界面那样的视觉组件,但我们可以使用字符来模拟进度条,为用户提供任务执行的视觉反馈。 执行开始… 当前进度: 0% [ ] 当前进度: 1% [ ] 当…

安装 NVIDIA Chat with RTX

安装 NVIDIA Chat with RTX 0. NVIDIA Chat with RTX 是什么?1. 安装 NVIDIA Chat with RTX2. 使用 NVIDIA Chat with RTX3. NVIDIA Chat with RTX 下载地址 0. NVIDIA Chat with RTX 是什么? Chat With RTX 是一款演示应用程序,可让您个性化…

C语言-----用二维数组解决菱形的打印问题

1.打印菱形&#xff0c;多组输入&#xff0c;一个整数&#xff08;2~20&#xff09;&#xff0c;表示输出的行数&#xff0c;也表示组成“X”的反斜线和正斜线的长度。 #include <stdio.h>int main() {int n0;while(scanf("%d",&n)! EOF){int i0;int j0;f…

【JavaSE篇】——String的常用方法(全面知识覆盖)

目录 字符串常用方法 &#x1f388;字符串构造 &#x1f388;字符串长度(length) &#x1f388;字符串是否为空(empty) &#x1f388;String对象的比较 &#x1f308;比较是否引用同一个对象(boolean&#xff09; &#x1f308;boolean equals(Object anObject) 方法&#xff1…

【Python】Python代码的单元测试

Python代码的单元测试 单元测试的概念 定义&#xff1a;是指对软件中的最小可测试单元进行检查和验证。 作用&#xff1a;可以确保程序模块是否否和我们规范的输出&#xff0c;保证该模块经过修改后仍然是满足我们的需求。 单元测试的策略 如果要创建单元测试&#xff0c;…

java SSM新闻管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM新闻管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S…

Map和Set(哈希表)

目录 map&#xff1a; map说明&#xff1a; Map.Entry的说明&#xff1a;,v> Map 的常用方法: 演示&#xff1a; 注意&#xff1a; TreeMap和HashMap的区别 Set&#xff1a; 常见方法说明&#xff1a; 注意&#xff1a; TreeSet和HashSet的区别 哈希表: 冲突&a…

使用LORA微调RoBERTa

模型微调是指在一个已经训练好的模型的基础上&#xff0c;针对特定任务或者特定数据集进行再次训练以提高性能的过程。微调可以在使其适应特定任务时产生显着的结果。 RoBERTa&#xff08;Robustly optimized BERT approach&#xff09;是由Facebook AI提出的一种基于Transfor…

【王道数据结构】【chapter5树与二叉树】【P158t8】

设树B是一颗采用链式结构存储的二叉树&#xff0c;编写一个把树B种所有节点的左、右子树进行交换的函数。 #include <iostream> #include <stack> typedef struct treenode{char data;struct treenode *left;struct treenode *right; }treenode,*ptreenode;ptreeno…