首页 > 其他分享 >selenium笔记之PC浏览器仿真移动端

selenium笔记之PC浏览器仿真移动端

时间:2023-04-27 15:47:07浏览次数:40  
标签:浏览器 chromeOptions -- selenium capabilities addArguments PC setCapability new

本来写的UI走查的代码主要场景是web浏览器,少量h5页面校验不值得大费周章用真机去跑

背景:

首先尝试了移动端真机巡检,但是不同机型,需要调试出合适的appPackage以及其它参数

上一段代码:

    public AndroidDriver getWebDriverForAPP(){
AndroidDriver appDriver = null;
try {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "1509-A00");
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "6.0.1");
capabilities.setCapability("appPackage", "com.yulong.android.launcher3");
capabilities.setCapability("appActivity", ".Launcher");
capabilities.setCapability("newCommandTimeout", "180");
appDriver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (Exception e) {
logger.info("webdriver启动失败:"+e.getMessage());
}
return appDriver;
}
代码跑一段时间,手机有时候就自动重启了,然后暂时不知道哪里有bug。。。
然后就想着,直接在web上走查h5页面,这样一套监控环境就可以了,起初挺好的,直接用webDriver打开对应h5链接即可
后来产品给服务端提需求(在pc环境中访问h5页面直接用pc形式打开)就又不行了,
于是就又想,自己平时经常用chrome浏览器的控制台的仿真模式,是不是可以用这个来搞

于是慢慢人生路,开整,查了查,果然可以,狂喜

话不多说上代码,主要是需要设置需要的deviceName即可:

public WebDriver getWebDriverPCAPP(){
try {
System.setProperty("webdriver.chrome.driver", "驱动的位置chromedriver");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");//无界面参数
chromeOptions.addArguments("--no-sandbox");//禁用沙盒,防止访问受限
chromeOptions.addArguments("--window-size=600,800");//设置打开的大小
chromeOptions.addArguments("--disable-extensions");//禁用扩展
chromeOptions.addArguments("--disable-dev-shm-usage");//overcome limited resource problems
//主要是下面这三行
HashMap<String,String> mobileEmulation = new HashMap<>();
mobileEmulation.put("deviceName","iPhone X");//这里是要使用的模拟器名称,就是浏览器中模拟器中的经常选择的顶部型号
chromeOptions.setExperimentalOption("mobileEmulation",mobileEmulation);//增加本行
webDriver = new ChromeDriver(chromeOptions);

}catch (Exception E){
logger.info("webdriver启动失败:"+E.getMessage());
}
return webDriver;
}

 

标签:浏览器,chromeOptions,--,selenium,capabilities,addArguments,PC,setCapability,new
From: https://www.cnblogs.com/happiness30/p/17359092.html

相关文章

  • nacos报错:Nacos cluster is running with 1.X mode, can't accept gRPC request tempo
    nacos报错:Nacosclusterisrunningwith1.Xmode,can'tacceptgRPCrequesttemporarilynacos报错如下:Causedby:com.alibaba.nacos.api.exception.NacosException:Requestnacosserverfailed:atcom.alibaba.nacos.client.naming.remote.gprc.NamingGrp......
  • 2022CCPC威海站 铜牌题解 A C D E G I J 补题
    A//木桶效应#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=2e5+10;map<string,int>cham;pair<string,int>player[N];intcnt1[6];intcnt2[6];intn,m;intsum;signedmain(){cin>>n;f......
  • 不能将参数 1 从“const char [8]”转换为“LPCWSTR”
    VS2010:#include<winsock2.h>#include<stdio.h>#defineMasterPort999//定义监听端口999#pragmacomment(lib,"ws2_32.lib")intmain(){WSADATAWSADa;structsockaddr_inSockAddrIn;SOCKETCSocket,SSocket;intiAddrSize;PROCES......
  • httpclient请求
    varClient=newHttpClient();Client.DefaultRequestHeaders.Clear();Client.DefaultRequestHeaders.Add("Header1","Value1");Client.DefaultRequestHeaders.Add("Header2","Value2");Client.DefaultRequestHeaders.Add......
  • python 使用selenium 不开启浏览器
    selenium不启动浏览器模式打开浏览器再启动会浪费时间,对爬虫的性能也是个影响,还有一种就是不打开浏览器。如下参数是针对chrome的全局参数,不能自定义参数。fromseleniumimportwebdriver#还有一些其他的参数'''#添加UAoptions.add_argument('user-agent="MQQBrowser/26......
  • 在web浏览器中如何操作复合IC卡
    在web浏览器中如何操作复合IC卡呢,对于使用javascript的工程师而言,非常简单,只需要几行代码即可实现。当然在写代码之前,需要安装友我NFC读写器web插件,然后插上NFC读写器YW-607HC。引入必要的js后,我们就可以开始写代码了.对于M1和15693的复合卡,我们可以先自动读取M1卡的卡号,......
  • JSON View谷歌浏览器插件使用
    JSONVIewer:sourcecode:https://github.com/tulios/json-viewer谷歌浏览器插件,用于展示JSON、JSONP格式的代码文件。网页显示效果如下:插件主要参数修改:font-size:字体大小;line-height:行高。官网介绍:ThemostbeautifulandcustomizableJSON/JSONPhighlighterthatyou......
  • m基于LOC-PCA算法的人脸重建算法matlab仿真,给定人物侧脸实现正脸重建
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要      提出了一种有效的图像姿态合成方法。姿势合成用于预测在给定姿势的期望姿势处具有最小误差的面部图像。在许多情况下,这是经常需要的例如动画电影的制作、法医学和3D人脸几......
  • 浏览器 http 200(from cache) 和 304
    1,Last-Modified设置header("Last-Modified:".gmdate("D,dMYH:i:s",time())."GMT"); Last-Modified虽然使用了缓存,但是每次打开页面依然需要向服务器发起http请求,浏览器根据用户的$_SERVER['HTTP_IF_MODIFIED_SINCE']来判断浏览器的内容是否......
  • 2023年电子科技大学ACM-ICPC暑假前集训-数据结构
    Preface学校针对大一新生的暑假前集训的第一个专题DS,由于要求集体写题解就顺便把写好的发上来了由于下面都写了题意所以直接看也能有很多收获,当然非电专的学生的话就没法交题了代码的话由于专题还没结束怕放上来然后被CV导致被爆破,所以应该在这周六专题结束后会放上来下面都是......