当前位置: 首页 > Linux

端到端自动化测试:Linux下Laravel项目Dusk安装使用指南

时间:2023-04-07 01:12:07 Linux

介绍Dusk是Laravel生态系统的端到端测试套件。它比原生Selenium更易于使用,几乎可以开箱即用。下面简单介绍一下安装使用过程中可能遇到的小细节和注意点,帮助大家上手:安装ChromeLinux需要自行下载安装包。这里我们以Ubuntu为例。这个链接下载最新的稳定版:cd/tmpwgethttps://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb安装deb包:sudodpkg-igoogle-chrome-stable_current_amd64.deb如果是提示安装失败,缺少依赖,然后:sudoapt--fix-brokeninstall然后重启:sudodpkg-igoogle-chrome-stable_current_amd64.deb安装后检查版本,因为ChromeDriver的版本必须对应的是:google-chrome--version另一种选择是直接安装开源的Chromium,但是为了完全模拟客户端的使用,建议使用完整版的Chrome。安装Dusk通过Composer添加依赖:composerrequire--devlaravel/dusk为Laravel项目安装Dusk:phpartisandusk:install运行Dusk并解决ChromeDriver问题老规矩是先运行它,然后根据报错解决问题或者提示:phpartisan如果dusk下载了ChromeDriver文件,如果有类似提示Dusk使用的ChromeDriver与Chrome版本不对应:Facebook\WebDriver\Exception\SessionNotCreatedException:sessionnotcreated:Chromeversionmustbebetween70和73(Driverinfo:chromedriver=2.45.615279(12b89733300bd268cff347f3b78f),platform=Linux4.15.0-91-genericx86_64),需要自己下载相应版本的ChromeDriver,官方下载地址https://chromedriver.chromium...(不幸的是,您需要科学上网)。下载后覆盖替换掉我们Laravel项目下./vendor/laravel/dusk/bin/中的chromedriver-linux文件。另一种简单的方法是使用Dusk的内置命令(优点是不需要科学上网,但下载会很慢):#为你的操作系统安装最新版本的ChromeDriver...phpartisandusk:chrome-driver#为您安装指定版本的ChromeDriver用于所有支持的操作系统...phpartisandusk:chrome-driver74#为所有支持的操作系统安装指定版本的ChromeDriver...phpartisandusk:chrome-driver--all确保ChromeDriver文件可执行注意Linux下Dusk调用的ChromeDriver二进制文件需要有可执行权限。如果你在运行Dusk时遇到问题,你可以使用以下命令来确保二进制文件是可执行的:chmod-R0755vendor/laravel/dusk/binDuskcommandlinerunalltestsusingphpartisanduskrunansingletestfilephpartisandusk./tests/Browser/Admin/HomePageTest.php重新运行上次失败的测试phpartisandusk:fails到./tests/Browser/目录创建测试phpartisandusk:makeLoginTest到指定路径创建测试phpartisandusk:make./tests/Browser/Admin/HomePageTestDusk相关文档参考https://learnku.com/docs/lara...