selenium-webdriver - 使用不同的用户运行 Chrome -Katalon 和 groovy
问题描述
我正在使用 katalon 和 groovy 进行测试自动化。
我们有一个模块,我需要用不同的用户登录并测试功能。我正在寻找自动化这个模块的回归测试,但我这里的挑战是自动化登录作为不同的用户场景,我也找不到任何支持 groovy 或 java 不同用户登录的脚本。
请指教。
public IWebDriver CreateNewBrowserFor(string Who)
{
//Decide which of Selenium nodes we want to connect to
string CapabilitiesOfTargetUser;
if(Who.Equals("user1"))
{
//We need to control a browser for user1 on his node
CapabilitiesOfTargetUser = "platform=Mac;browserName=firefox";
}
else if(Who.Equals("me"))
{
//We need to control a browser for me on my node
CapabilitiesOfTargetUser = "platform=WINDOWS";
}
else
{
throw new ArgumentException();
}
//Create a Selenium DesiredCapabilities object that contains our choosen capabilities
Dictionary<string, object> RequestedCapabilities = new Dictionary<string, object> ();
string[] CapabilitiesArray = CapabilitiesOfTargetUser.Split(';');
foreach(string KeyValuePair in CapabilitiesArray)
{
string key = KeyValuePair.Split('=').First().Trim();
string value = KeyValuePair.Split('=').Last().Trim();
RequestedCapabilities[key] = value;
}
DesiredCapabilities Capabilities = new DesiredCapabilities(RequestedCapabilities);
//Create the RemoteWebDriver. Selenium's hub will ensure that this RemoteWebDriver is
//actually controlling a new browser on the correct machine
return new RemoteWebDriver
(
new Uri("http://localhost:4444/wd/hub")
, Capabilities
, new TimeSpan(0, 0, 50)
);
}
解决方案
推荐阅读
- javascript - 在创建新窗口的 JS 中访问/权限被拒绝
- java - 当只需要使用多态指定一个子类时如何设计?
- typo3 - Typo3 中分组新闻项目的格式月份
- python - BeautifulSoup 返回空跨度元素?
- c# - 如何从代理控制器正确地将数据返回给我的客户端
- c# - Sloved - 如何将文本框值从 WinForm 发送到用 c# 设计的 MS Access 表单
- r - 如何根据列值添加一个数字序列?
- javascript - 即使我在 NuxtJS 上做了一些小改动,我是否需要继续上传所有文件
- java - 如何使用 Java Rally API 获取给定缺陷的讨论
- scala - 如何对 Set[ValidatedNel[String, Double]] 求和?