- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在本地使用嵌入式 Browsermob 代理服务器进行了工作测试。没有什么新东西,但这里仍然是示例代码。
_server = new BrowserMobProxyServer()
_server.start();
Proxy proxy = ClientUtil.createSeleniumProxy(_server);
ChromeOptions options = new ChromeOptions();
options.setCapability("proxy", proxy);
_driver = new ChromeDriver(options);
现在我们正在研究将此类测试集成到我们的 CI 管道中并在云中执行这些测试的选项 (Browserstack/Sauce Labs)。我试图弄清楚在这种情况下设置会是什么样子。现在我的理解是代码(设置代理并实际包含测试)将在我们的服务器上运行。这意味着嵌入式代理也将在我们的服务器上运行不一定可以从外部访问。所以问题是:
最佳答案
如果 test/webdriver 实例将在您的情况下在远程机器(browserstack 或 sauce)上运行,则必须在远程机器上对代理服务器生成的代理进行身份验证以拦截流量。我有类似的要求,我使用独立的 BrowserMob 实例进行设置。下面是 browserstack 的工作示例代码及其本地测试二进制文件:
这将需要以下依赖项:
<dependency>
<groupId>com.browserstack</groupId>
<artifactId>browserstack-local-java</artifactId>
<version>1.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.lightbody.bmp</groupId>
<artifactId>browsermob-core</artifactId>
<version>2.1.5</version>
<scope>test</scope>
</dependency>
代码片段:
import com.browserstack.local.Local;
import net.lightbody.bmp.BrowserMobProxy;
import net.lightbody.bmp.BrowserMobProxyServer;
import net.lightbody.bmp.client.ClientUtil;
import net.lightbody.bmp.core.har.Har;
import net.lightbody.bmp.proxy.CaptureType;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.io.File;
import java.net.URL;
import java.util.HashMap;
public class InterceptProxy {
public static final String USERNAME = <BrowserStack Username>;
public static final String AUTOMATE_KEY = <BrowserStack Key>;
public static final String URL = "https://" + USERNAME + ":" + AUTOMATE_KEY + "@hub-cloud.browserstack.com/wd/hub";
public static void main(String[] args) throws Exception {
BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.start(0);
Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);
Local browserStackLocal = new Local();
HashMap<String, String> browserStackLocalArgs = new HashMap<String, String>();
browserStackLocalArgs.put("key", AUTOMATE_KEY);
browserStackLocalArgs.put("forcelocal", "true");
browserStackLocalArgs.put("forceproxy","true");
browserStackLocalArgs.put("force","true");
browserStackLocalArgs.put("v", "true");
String host=seleniumProxy.getHttpProxy().substring(0,seleniumProxy.getHttpProxy().indexOf(":"));
String port=seleniumProxy.getHttpProxy().substring(seleniumProxy.getHttpProxy().indexOf(":")+1,seleniumProxy.getHttpProxy().length());
browserStackLocalArgs.put("-local-proxy-host", host);
browserStackLocalArgs.put("-local-proxy-port", port);
browserStackLocal.start(browserStackLocalArgs);
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("browser", "Chrome");
caps.setCapability("browser_version", "62.0");
caps.setCapability("os", "Windows");
//caps.setCapability(CapabilityType.PROXY, seleniumProxy);
caps.setCapability("os_version", "10");
caps.setCapability("browserstack.local",true);
WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
proxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);
// create a new HAR with the label "yahoo.com"
proxy.newHar("yahoo.com");
// open yahoo.com
driver.get("http://yahoo.com");
// get the HAR data
Har har = proxy.getHar();
//Writing Har to file
har.writeTo(new File("/Users/MyUser/Desktop/HAR.txt"));
driver.quit();
browserStackLocal.stop();
proxy.stop();
}
}
关于java - 用于基于云的测试的独立与嵌入式 Browsermob 代理 (Sauce Labs/Browserstack),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48997684/
之前,为了在 Jupyter Notebook 中启用多光标编辑,我使用了自定义 JS 片段: require(["codemirror/keymap/sublime", "notebook/js/c
我遇到的问题是我有两个列表创建了一个非常慢的相当大的循环......慢 3.5 到 4 秒。我正在寻求改进。我使用的两个列表都包含 Lab Colors。第一个列表是一个调色板,称之为 palette
我正在尝试使用 Color Thresholder App 在 MATLAB 中对颜色进行采样然后在 OpenCV 中使用 L * a * b 输出。但似乎存在规模不匹配。以下是 MATLAB 和 O
我正在尝试创建一个扩展程序,在打开的 Jupyter Lab 笔记本的工具栏中添加一个自定义按钮,类似于这张照片中的“提交笔记本按钮......”。我如何实现这一目标?我尝试使用以下代码但它不起作用:
如何让 x-lab 标签变成斜体而不是 y-lab 标签?唯一的我可以找到的命令 (font.lab=3) 使 x-lab 和 y-lab 标签都变成斜体。我在 R 中创建在 x 轴和 y 轴上具有特
如何让 x-lab 标签变成斜体而不是 y-lab 标签?唯一的我可以找到的命令 (font.lab=3) 使 x-lab 和 y-lab 标签都变成斜体。我在 R 中创建在 x 轴和 y 轴上具有特
这似乎是一个通用的问题,与其他几个 React 开源框架相比,我真的很喜欢 Material ui 的可扩展性。 问题 “@material-ui/core”和“@material-ui/lab”中的
git diff master..lab 它将在两个分支的提示之间产生差异。 git diff master...lab # notice triple dot 它将从两个分支的共同祖先开始产生差异。
我是酱汁实验室的菜鸟。我第一次在 appium Desired 功能上运行我的 Sauce 实验室,并收到以下错误消息: unable to parse remote response: Miscon
问题 大家好, 正如我的标题所暗示的那样,我想访问笔记本名称(在 jupyter-lab 中)作为变量。所以我可以在笔记本本身中重用它(例如命名笔记本中生成的一些图形文件)。 我看到几年前打开了一个类
我的应用程序在 java 7/jboss 5.2 上运行。我正在使用 drools 5.3 并从 guvnor 5.3 加载我的规则。 从今天早上开始,我从 guvnor 加载 ChangeSet 时
我有带有 LAB 值的 CSV,我想将该 LAB 值转换为图像,例如来自本网站 https://www.nixsensor.com/free-color-converter/当我输入 LAB 值时,它
让您拥有交互式图表的壁虎的最佳平台是什么?我目前正在使用 jupyter lab,但它没有动画或实时显示 最佳答案 有一个内置的动态 GUI 工具可用于解决简单的优化问题,尽管它的功能肯定不完整,而且
我在谷歌云的 AI 平台内创建了一个深度学习实例。我使用在浏览器上运行的内置 jupyterlab 笔记本(我使用 chrome)。最近我在保存代码时遇到了问题。自动保存以及保存笔记本文件不起作用。当
当我从 python 虚拟环境文件夹中的 cmd 提示符启动 Jupyter Lab 时,我注意到 Jupyter 启动过程显示 三个 Jupyter 小部件已过时。没有描述如何更新这些小部件的显示消
如何在 CIE Lab 颜色模型中呈现对象颜色。 Color c = ... float[] lab = {0,0,0}; ... c.getColorComponents(ColorSpace.ge
我尝试通过将 *.css 文件放入 ~/.jupyter/custom/目录(如 here )来应用深色主题。这会更改普通 jupyter notebook 的主题。但对 jupyter lab 外观
Jupyterlab 正在像这样进行软包装(使用设置 "lineWrap": "on"): 但我更喜欢这样的东西,就像我在所有其他文本编辑器(emacs、intellij、vim...)中都有它一样:
以下是初始化Jupyter lab时报错的信息。错误似乎并不严重,但我无法打开网页。我如何解决它?令我惊讶的是,Jupyter notebook 运行良好。 [~] jupyter lab [I ..
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 9 年前。 Improve
我是一名优秀的程序员,十分优秀!