- 博客(120)
- 收藏
- 关注
原创 《DeepSeek入门到精通指导手册》
了解 DeepSeek、入门 DeepSeek、精通 DeepSeek,这几本书足够帮你快速上手!先到先得(Free),赶紧行动起来!《DeepSeek入门到精通指导手册》
2025-02-09 09:59:36
818
原创 Linux - 探索命令行
仅仅了解这些最基础的命令行知识是不够的. 通常, 我们可以抱着如下的信条: 只要我们能想到的, 就一定有方便的办法能够办到. 因此当你想要完成某件事却又不知道应该做什么的时候, 请向Google求助. 如果你想以Linux作为未来的事业, 那就可以去图书馆或互联网上找一些相关的书籍来阅读.后可以跟两个参数, 可以查看不同类型的帮助(请在互联网上搜索). 例如当你不知道C标准库函数。下面给出一些常用命令使用的例子, 你可以键入每条命令之后使用。之外, 还会教你在使用一款新的命令行工具时如何获得帮助.
2024-07-13 22:24:59
408
原创 精准测试 & Jacoco 代码覆盖率统计实战
测试设计阶段测试范围评估少:质量差评估多:成本高测试设计设计全:成本高设计少:用时少、风险高交付测试阶段开发工程师顺手改了代码,忘记同步,对上线有什么影响?马上要上线了,系统达到质量标准了么?测试工程师核心功能是否回归足够?功能点这么多,测完还会有遗漏测试点么?代码变动太频繁,上线会有什么风险么?于是引出想解决的问题这次版本新增/修改的代码,都有测试覆盖到吗?上线前的回归,怎样弄清楚测试范围?精准测试的目标降低测试成本:根据代码变更定位测试范围。
2024-07-12 00:02:36
906
原创 增量覆盖率
如图所示,在master分支提交了HelloController,然后从master拉了个新分支test;提交了第1次代码,增加了WorldController;提交了第2次代码,增加了DonController。版本对比:在分支上,第2次提交和第1次提交版本对比的增量代码,就是DonController;第2次提交和刚从master拉取分支时版本对比的增量代码,除了DonController还有WorldController;
2024-07-12 00:01:40
3049
原创 appium环境准备
上边的界面,点击安装目录下的SDK Mansger.exe文件,同样可以打开,已经自动打开的忽略此步。变量值尽量点击浏览目录去找,不要手动输入,避免文件夹名输入错误,或者路径输入错误造成找不到路径。以上涉及安装的软件,基本都是国外的,所以网站下载巨慢,建议直接从我百度网盘下,变量名:固定写图片上的,变量值:找到你JDK安装后的那个文件夹,完成后点击确定。除了这四个必装外,其他自动打勾的项目,装不装都是可以的,随意。所以你就不要修改路径了,默认就好。这个用我上边的链接就好,官网没有梯子,你是上不去的。
2024-07-10 19:58:07
998
原创 xxl-job中的cron表达式详解
xxl-job 是一个轻量级分布式任务调度平台,核心的设计目标:学习简单、开发迅速、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。而且有较为完善的说明文档《分布式任务调度平台XXL-JOB》和 图形化操作界面。xxl-job是开源项目,在 GitHub 可以下载到项目的源码,调度中心是一个 Spring MVC 项目,搭建 demo 前也需要将项目完整 clone 到本地。
2024-07-09 23:47:42
3327
原创 通过ssh的方式拉取github代码
3. 当提示`Enter a file in which to save the key`时,可以直接按`Enter`接受默认文件位置(通常在~/.ssh/id_rsa`)。2. 从主菜单中,选择`VCS` > `Checkout from Version Control` > `Git`。5. 成功创建密钥后,可以通过`cat ~/.ssh/id_rsa.pub`命令查看并复制SSH公钥的内容。5. 在“Key”栏位中,粘贴你之前复制的SSH公钥内容(即`id_rsa.pub`文件的内容)。
2024-07-08 23:46:59
1273
原创 PlayWright教程
微软开源自动化测试工具Playwright,支持主流浏览器,包括:Chrome、Firefox、Safari 等,同时支持以无头模式、有头模式运行,并提供了同步、异步的 API,可以结合主流测试框架使用,并且支持浏览器端的自动化脚本录制等功能。跨浏览器:Playwright 支持所有现代渲染引擎,包括Chromium、WebKit 和 Firefox;跨平台:在 Windows、Linux 和 MacOS 上进行本地或 CI、无头或有头测试;
2024-07-08 23:45:31
5055
原创 selenium VNC 远程同步
使用户能通过浏览器直接视觉化检查容器活动,这对于无法在设备上安装VNC客户端的情况特别有用。noVNC通过7900端口启动,所以需要通过这个端口用浏览器访问。如果您资源紧张或不需要检查运行中的会话,可以选择完全不运行VNC服务。只需在网格启动时设置SE_START_VNC=false环境变量即可。欢迎关注公众号,与Joker一起探索测试之道。同样,密码是secret。
2024-07-07 14:13:24
646
原创 selenium_linux环境问题汇总
wait = WebDriverWait(self.browser, 60) # 设置最长等待时间为60秒。options.add_argument('--headless') # 无头模式。欢迎关注公众号,与Joker一起探索测试之道。未设置浏览器的无头(headless)模式。Selenium 浏览器。
2024-07-07 14:11:42
302
原创 javascript的三种弹出对话框alert,confirm和prompt
alert()方法和confirm()方法的使用十分类似,都是仅仅显示已有的信息,但用户不能输入自己的信息,但是prompt()可以做到这点,她不但可以显示信息,而且还提供了一个文本框要求用户使用键盘输入自己的信息,同时她还包含“确认”或“取消”两个按钮,如果用户“确认”按钮,则prompt()方法返回用户在文本框中输入的内容(是字符串类型)或者初始值(如果用户没有输入信息);如果用户单击“取消”按钮,则prompt()方法返回null,我们称这种对话框为提示框,在这三种对话框中,她的交互性最好。
2024-07-03 00:41:29
1468
原创 httprunner断言-兼容潜在的多个响应值
smile,可能存在不统一的其他名字: SMILE / Smile / 一串数字id(如 26479376494)9mobile,可能存在不统一的其他名字:NINEMOBILE / NINE_MOBILE / 9MOBILE。方案一:是否可以在hrp的框架基础上断言多个预期值。方案二:是否可以调整有效的断言方法解决该问题。查看官方文档,支持包含断言,可采用方案一。
2024-07-02 19:52:30
763
原创 定时任务无效跟踪(python的schedule)
因此,以上表达式代表在每天的 09:00 和 18:00 执行 `/path/to/python /path/to/your_script.py` 这个 Python 脚本。脚本换到Linux(centos8)上后,定时任务未能正确定时定点执行。定时任务 入口未正确调用。使用schedule模块,按上述方法执行定时任务,- `9,18`: 表示小时为 9 和 18。- `0`: 表示每小时的第 0 分钟。`crontab` 定时任务。- `*`: 表示每天。- `*`: 表示每月。- `*`: 表示每周。
2024-07-01 23:55:47
528
原创 pytest-Hook(钩子)函数
hook 函数相当于是 Pytest 的一些本地插件,Pytest 给我们提供了许多的 hook 函数,用于处理不同阶段的自定义行为。
2024-06-30 15:48:55
623
原创 pytest-命令行参数
命令行参数使用 Pytest 执行用例时,我们经常都是通过命令行来执行的,有同学要说了,我一般是通过编辑器里面直接就执行了;在实际项目中编写用例调试用例,使用编辑器执行用例没问题,但在 CI 集成环境下,一般是需要用命令行的。Pytest 要想玩得溜,命令行参数必须要熟悉,Pytest 支持的参数很多,有自带的参数,插件提供的参数,还有我们自己定义的一些参数,下面就介绍在项目中常用的参数:1、-s有时候你发现在用例里面使用 print 语句,但是执行的时候却没有打印,那多半是因为你没有加这个
2024-06-30 15:47:52
551
原创 pytest-两种不同写法
这里还要讲一下 setup_method 和 setup_function 的区别,setup_function 是在基于函数的用例写法时使用的,setup_method 是基于类的用例写法使用的,我面试别人的时候喜欢问这两个的区别,如果知道这个的,基本对本部分内容是了解的。熟悉 unittest 框架的人都知道,unittest 里面 fixture 的写法是 setUp 和 tearDown,setUp_class 和 tearDown_class,只有这一种写法,而且是固定的写法哈。
2024-06-30 15:46:36
294
原创 pytest-内置固件
似乎测试正常执行完全没有问题,但如果我们的家目录下恰好有这个配置文件并且维护了许多配置,运行测试将会覆盖原有配置,这太可怕了!pytestconfig 其实是 request.config 的快捷方式,所以也可以自定义固件实现命令行参数读取。使用 tmpdir.mkdir() 创建目临时录,tmpdir.join() 创建临时文件(或者使用创建的目录)。但程序已经写死了文件路径,怎么办?使用 pytestconfig,可以很方便的读取命令行参数和配置文件。用于临时文件和目录管理,默认会在测试结束时删除。
2024-06-30 15:45:27
662
原创 pytest-固件参数化
更进一步,可以继续将这些固件合并为一个,而通过参数控制连接到不同的数据库。固件参数化需要使用 pytest 内置的固件 request,并通过 request.param 获取参数。假设现在有一批 API 需要测试对不同数据库的支持情况(对所有数据库进行相同操作),最简单的方法就是针对每个数据库编写一个测试用例,但这包含大量重复代码,如数据库的连接、关闭,查询等。与函数参数化使用 @pytest.mark.parametrize 不同,固件在定义时使用 params 参数进行参数化。
2024-06-30 15:43:59
395
原创 pytest-自动执行固件
目前为止,所有固件的使用都是手动指定,或者作为参数,或者使用 usefixtures。如果我们想让固件自动执行,可以在定义时指定 autouse 参数。欢迎关注公众号,与Joker一起探索测试之道。
2024-06-30 15:42:56
431
原创 pytest-作用域
固件的作用是为了抽离出重复的工作和方便复用,为了更精细化控制固件(比如只想对数据库访问测试脚本使用自动连接关闭的固件),pytest 使用作用域来进行指定固件的使用范围。欢迎关注公众号,与Joker一起探索测试之道。默认的作用域为 function。
2024-06-30 15:42:01
442
原创 pytest-预处理和后处理
Pytest 使用 yield 关键词将固件分为两部分,yield 之前的代码属于预处理,会在测试前执行;yield 之后的代码属于后处理,将在测试完成后执行。很多时候需要在测试前进行预处理(如新建数据库连接),并在测试完成进行清理(关闭数据库连接)。当有大量重复的这类操作,最佳实践是使用固件来自动化所有预处理和后处理。可以看到在测试成功的 . 标识前后有数据库的连接和关闭操作。欢迎关注公众号,与Joker一起探索测试之道。
2024-06-30 15:41:03
167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人