无法使用 chrome 网络驱动程序访问 servlet
Unable to hit the servlet using chrome web driver
我试图在同一个 Web 应用程序中使用 selenium chrome Web 驱动程序命中我自己的 servlet,但是代码没有命中我在 servlet 中设置的断点。
以下是我调用servlet的代码,
ChromeOptions options = new ChromeOptions();
options.setHeadless(true);
String PROXY = <proxy ip> + ":" + <proxy port>;
Proxy proxy = new Proxy();
proxy.setHttpProxy(PROXY);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.PROXY, proxy);
options.merge(capabilities);
ChromeDriver webDriver = new ChromeDriver(options);
webdriver.get("http://<some ip>:<some port>/myApp/myServlet")
当我使用 url
从浏览器调用 servlet 时
http://<some ip>:<some port>/myApp/myServlet
到达断点。但是当我尝试从 webdriver 做同样的事情时,它不起作用。
谁能帮我解决这个问题?
UPDATE - 下面是处理请求的 servlet。
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("In MyServlet -> doPost()");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("In MyServlet -> doGet()");
}
}
终于找到问题了,我使用的代理地址导致了问题,当我更改代理时,我能够成功命中 servlet。
为了更好地管理它,我维护了一个代理池并添加了代码以在代理无效时从池中删除代理,还添加了代码以从池中提供下一个有效代理。
我试图在同一个 Web 应用程序中使用 selenium chrome Web 驱动程序命中我自己的 servlet,但是代码没有命中我在 servlet 中设置的断点。
以下是我调用servlet的代码,
ChromeOptions options = new ChromeOptions();
options.setHeadless(true);
String PROXY = <proxy ip> + ":" + <proxy port>;
Proxy proxy = new Proxy();
proxy.setHttpProxy(PROXY);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.PROXY, proxy);
options.merge(capabilities);
ChromeDriver webDriver = new ChromeDriver(options);
webdriver.get("http://<some ip>:<some port>/myApp/myServlet")
当我使用 url
从浏览器调用 servlet 时http://<some ip>:<some port>/myApp/myServlet
到达断点。但是当我尝试从 webdriver 做同样的事情时,它不起作用。
谁能帮我解决这个问题?
UPDATE - 下面是处理请求的 servlet。
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("In MyServlet -> doPost()");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("In MyServlet -> doGet()");
}
}
终于找到问题了,我使用的代理地址导致了问题,当我更改代理时,我能够成功命中 servlet。
为了更好地管理它,我维护了一个代理池并添加了代码以在代理无效时从池中删除代理,还添加了代码以从池中提供下一个有效代理。