c# - How do I run multiple browsers simultaneously in Selenium without using tests? I see some use tests, but that's not what I want
问题描述
How do I run multiple browsers simultaneously in Selenium without using tests? I see some use tests, but that's not what I want. I want to put each run of a browser inside a method and then run those methods simultaneously, as many as I need. Please help, I'm not getting much like finding an answer.
解决方案
您可以简单地使用在普通测试项目中使用的相同 Selenium 库,但将它们添加到非测试项目(如控制台应用程序)。
在不确切知道您通过运行多个浏览器尝试完成什么的情况下,我只能给出下面的示例,即创建多个 Web 浏览器并让每个浏览器导航到提供的 url:
var urls = new string[] {"https://google.com/", "https://www.wikipedia.org/", "https://stackoverflow.com"};
// A list for storing each ChromeDriver instance or whatever driver you use (Firefox, Edge, Chrome)
var chromeDrivers = new List<ChromeDriver>();
// Add three separate browser sessions to your list (or however many you need)
for(int i = 0; i < 3; i++)
{
chromeDrivers.Add(new ChromeDriver());
}
// Navigate to a unique URL for each browser session
for(int i = 0; i < chromeDrivers.Count(); i++)
{
chromeDrivers[i].Navigate().GoToUrl(urls[i]);
}
// End the webdriver sessions (close and dispose)
for(int i = 0; i < chromeDrivers.Count(); i++)
{
chromeDrivers[i].Quit();
}
上面的示例应该向您展示三个单独的浏览器窗口,它们都导航到不同的 url:
推荐阅读
- pouchdb - Windows 10 应用程序 (.appx) 在 pocuhDB 中具有用于离线存储的数据,一旦系统重新启动,就会被清理
- cakephp - 如何在 cakephp 模型中从 po 文件中加载翻译的消息
- php - 在奏鸣曲的嵌套模态 crud 中打开 Ckeditor 时未加载
- ios - 如何在开发的实时聊天应用程序中共享一些页面详细信息作为链接
- assembly - 将多个变量连接成一个字符串
- android - 缩放会导致像素化矢量绘图
- javascript - 我的画布中的触摸事件没有按预期工作,我无法确定它不工作的原因
- thymeleaf - 使用 Thymeleaf 3 在自定义属性中转义 & 符号?
- django - 如何在 django 中发送密码重置电子邮件时显示公司名称而不是电子邮件地址
- linux-kernel - 什么是内核映像?为什么它在嵌入式中是强制性的?