playwright-setInputFiles 上传文件 📅 2026/6/28 4:24:42 一、setInputFiles上传文件setInputFiles 是java 提供的上传文件的方法。传参如图locator.setInputFiles(Paths.get(D:\\屏幕截图.png));二、例子有如下html 网站上传按钮①工具类TestPlayWrightimport com.microsoft.playwright.*; import com.microsoft.playwright.options.AriaRole; import com.microsoft.playwright.options.ServiceWorkerPolicy; import java.util.ArrayList; import java.util.List; public class TestPlayWright { public Playwright playwright; public Browser browser; public BrowserContext context; public Page page; public int slowMo 200; public boolean headless false; public String bowserName CHROMIUM; public Page getPage() { return page; } public void init(){ ListString argslist new ArrayListString(); argslist.add(--window-position -8 , 0); playwright Playwright.create(); switch (bowserName) { case CHROMIUM: browser playwright.chromium().launch(new BrowserType.LaunchOptions().setArgs(argslist) .setHeadless(headless) .setSlowMo(slowMo)); break; case FIREFOX: browser playwright.firefox().launch(new BrowserType.LaunchOptions() .setHeadless(headless).setArgs(argslist) .setSlowMo(slowMo)); break; case WEBKIT: browser playwright.webkit().launch(new BrowserType.LaunchOptions() .setHeadless(headless).setArgs(argslist) .setSlowMo(slowMo)); break; } assert browser ! null; Browser.NewContextOptions contextOpts new Browser.NewContextOptions() .setServiceWorkers(ServiceWorkerPolicy.BLOCK); // 屏蔽所有 Service Worker context browser.newContext(contextOpts); // # 2. 清除当前上下文的所有 Cookie推荐 context.clearCookies(); page context.newPage(); } public void browserClose(){ if(browser!null){ browser.close(); } } public void playwrightClose() { if(playwright!null){ playwright.close(); } } }②新建测试类 TestUploadimport com.microsoft.playwright.Locator; import com.microsoft.playwright.Page; import java.nio.file.Path; import java.nio.file.Paths; public class TestUpload { public static void main(String[] args) { TestPlayWright test new TestPlayWright(); //初始化创建page对象 test.init(); Page page test.getPage(); //打开测试页面 page.navigate(file:///E:/playwright/testDemo/全类型HTML表单iframe综合测试页.html); //获取 提示文本为【请输入密码】的定位 Locator locator page.locator(//*[id\testForm\]/div[1]/input[17]); //悬浮操作 locator.hover(); //高亮 locator.highlight(); //停2秒 page.waitForTimeout(2000); //上传文件 locator.setInputFiles(Paths.get(D:\\屏幕截图.png)); //停2秒 page.waitForTimeout(2000); //关闭浏览器 test.browserClose(); //关闭 playwright test.playwrightClose(); } }③执行效果如图④想要上传多个只要分装下方法import com.microsoft.playwright.Locator; import com.microsoft.playwright.Page; import java.nio.file.Path; import java.nio.file.Paths; public class TestUpload { public static void main(String[] args) { TestPlayWright test new TestPlayWright(); //初始化创建page对象 test.init(); Page page test.getPage(); //打开测试页面 page.navigate(file:///E:/playwright/testDemo/全类型HTML表单iframe综合测试页.html); //获取 上传文件按钮的定位 Locator locator page.locator(//*[id\testForm\]/div[1]/input[17]); //悬浮操作 locator.hover(); //高亮 locator.highlight(); //停2秒 page.waitForTimeout(2000); //上传文件 // locator.setInputFiles(Paths.get(D:\\屏幕截图.png)); //上传多个文件 uploadFile(locator,D:\\屏幕截图.png,D:\\屏幕截图.png); //停2秒 page.waitForTimeout(2000); //关闭浏览器 test.browserClose(); //关闭 playwright test.playwrightClose(); } /** * 本地文件上传 */ public static void uploadFile(Locator locator,String... filePaths) { Path[] paths new Path[filePaths.length]; for (int i 0; i filePaths.length; i) { paths[i] Paths.get(filePaths[i]); } locator.setInputFiles(paths); } }运行效果如图二、通过葫芦娃ui自动化工具操作①打开葫芦娃ui自动化工具②加载对应step.xlsx和data.xlsx③step.xlsx配置如图case sheet输入如下④创建对应sheet [ 测试上传文件] 如下定位方法选择 uploadFile⑤切换到工具点击运行⑥执行结果如下运行效果和上面一样完全零代码直接维护excel 就行谢谢大家的支持可以点个赞或转发。谢谢大家~想要工具可以私聊 或者直接打赏哈~