阅读源码后整理记录如下:

selenium :

1.若为webdriver.Chrome()方式启动:①子程序打开chromedriver.exe程序,程序打开后,监听9515端口作为remote_server(如果为默认启动,remote server地址为http://127.0.0.1:4444/wd/hub)。②webdriver实例化__init__(),脚本发起请求 http://localhost:9515/session ,浏览器被打开(浏览器驱动打开的),生成sessionId,并通过响应返回给客户端(该sessionId用于后面client和remote server通信的固定通道)。③接下来客户端通过command_executor实例调用execute(command,opts)来发送请求,让浏览器驱动在指定浏览器上执行命令。

appium:

1.若为webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)方式启动:①remote server地址为http://localhost:4723/wd/hub。②其中第4点即为第一步启动的remote server。③测试脚本→remote server→bootstrap.jar→在目标设备执行命令。④webdriver实例化__init__(),脚本发起请求 http://localhost:9515/session,生成sessionId

selenium和appium启动的感悟的更多相关文章

  1. selenium之多线程启动grid分布式测试框架封装(四)

    九.工具类,启动所有远程服务的浏览器 在utils包中创建java类:LaunchAllRemoteBrowsers package com.lingfeng.utils; import java.n ...

  2. selenium是如何启动浏览器的

    前几天有同学问到selenium是怎么样启动浏览器的(selenium启动浏览器的原理),当时稍微讲解了一下,不过自我感觉不够具体,现在特地把启动原理通过代码和一系列操作给串联起来,希望可以帮助大家更 ...

  3. appium 启动了2个端口,但是只有一台机器在跑的 问题解决 (还没试,记录在此)

    appium启动了2个,端口分别设置为了4723 4725, 在测试类中也分别指定了设备和端口,用device来指定.然而每次都是运行一个设备. 后来添加了udid这个来指定才发现可以.deviceN ...

  4. Selenium自动化测试之启动浏览器

    Selenium自动化测试之启动浏览器 一.Eclipse新建java工程 1.新建java工程:File->New->Java Project,输入Project name:如AutoT ...

  5. mac appium 启动genymotion

    mac eclipse  appium 启动genymotion 模拟器,设置红框中的三项内容就可以.2个红色箭头不需要设置. 如果launch_avd 设置,就会提示:Emulator xxx no ...

  6. PyCharm添加Selenium与Appium类库

    PyCharm添加Selenium与Appium依赖, 不需要用pip去安装!

  7. Appium启动报Permission Denial的问题

    前言 在Android真机上跑自动化脚本时,发现在启动App时报java.lang.SecurityException: Permission Denial: starting Intent : 原先 ...

  8. Java&Selenium根据实参启动相应浏览器

    Java&Selenium根据实参启动相应浏览器 /** * 定义函数initBrowser * @param browser:字符串参数chrome/ie/xx * @return 并返回驱 ...

  9. appium启动app(ios)

    Appium启动APP至少需要7个参数 ​ 'platformVersion','deviceName'.'udid'.'bundleId'.'platformName'.'automationNam ...

随机推荐

  1. 监控小工具(jconsole)

    偶然发现的一个监控小工具 配置好Jmeter运行的环境,在CMD命令中输入:jconsole 即可弹出一个[java监视和管理控制台]

  2. (二分搜索 )Strange fuction -- HDU -- 2899

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=2899 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  3. EJB学习手记

    周末两天,看了两天的ejb知识.公司有个转发消息的程序,里面是根据ejb/jms+cdi/event做的,这些之前没接触过. 总而言之,从中学到了很多东西,从ejb到webservice. jboss ...

  4. Jenkins 默认没有Launch agent via Java Web Start,该如何配置

    打开"系统管理"——"Configure Global Security" TCP port JNLP agents 配置成"随机",点击& ...

  5. win server 2012 R2 你需要先安装 对应于 KB2919355 的更新

    产生阻滞的问题: 你需要先安装 对应于 KB2919355 的更新 ,然后才可在 Windows 8.1 或 Windows Server 2012 R2 上安装此产品. 官方说法(这些 KB 必须按 ...

  6. Linq与数据库的连接显示查询(一)

    使用linq查询sql数据库是首先需要创建一个 linq  to  sql 类文件 创建linq  to  sql的步骤: 1在Visual  Studio 2015开发环境中建立一个目标框架 Fra ...

  7. sharepoint excute power shell

    Add-PSSnapin microsoft.sharepoint.powershell$UPA = Get-SPServiceApplication | ? {$_.typeName -like ' ...

  8. Impala源码之订阅发布系统的实现

    本文由  网易云发布. 作者:冯宇 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 本文是Impala源码笔记的第一篇,本文主要根据源代码学习一下statestored模块的实现,众所周知,Im ...

  9. docker-runc not installed on system 问题

    问题描述: docker运行镜像的时候,报错如下: 1 2 3 [root@etcd1 k8s]# docker run -it registry.helloworld.com/test/atsd:l ...

  10. cnVCL的安装

    cnVCL是cnpack组件中的不可视组件库,里面包含很多有用的组件,网址:http://www.cnpack.org/showdetail.php?id=739&lang=zh-cn 安装步 ...