您当前的位置:首页 > 精选知识 > 正文

desiredcapabilities(那位大神能给我解释这段代码每句是什么意思吗,不胜感激啊)

本文目录

  • 那位大神能给我解释这段代码每句是什么意思吗,不胜感激啊
  • AppiumDriver和 AndroidDriver 之间的区别
  • python htmlunit怎么定位元素
  • appium中怎么连接android真机测试
  • appium + java 怎么实现滑动页面到某个元素的位置 · TesterHome
  • python selenium 怎么初始化驱动
  • 用appium测试的时候遇到这个报错,有没有大佬帮忙看看
  • appium能测试android 5.1吗
  • 如何在 iOS 真机运行 Appium

那位大神能给我解释这段代码每句是什么意思吗,不胜感激啊

先说明这个是一个类里面的一个方法,public是表示这个方法是可以最大范围的被调用到,属于公共的。 WebDriver 是一个返回类型这个返回类型是其他类定义的,你只需要知道调用这个方法最后返回的东西 是一种已经被定义好的一种格式。 openBrowser是方法名,如果想要调用这个方法就需要这个方法名称,传入对应的参数 WebDriver driver ,driver就是一个参数。System.setProperty(“webdriver.ie.driver“, “res/IEDriverServer.exe“)这句话的意思是在系统配置文件中加入配置,配置文件中的webdriver.ie.driver字段设置参数为res/IEDriverServer.exe就相当于如果加载配置文件,就会加载IEDriverServer.exe工具调用它。DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); 这句话是创建了 DesiredCapabilities.internetExplorer(); 被capabilities 对象引用。capabilities 这个就具有了DesiredCapabilities.internetExplorer()的方法和属性。capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);这句话就是加载了浏览器的配置设定,也是在capabilities对象中的Capability属性中加入了InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS参数,应该是规定的设定必要条件。 driver = new InternetExplorerDriver(capabilities); return driver;这句话就相当于创建一个浏览器驱动,把之前创建的对象加入到这个驱动中,把返回的驱动对象返回给调用这个方法的类中。这个只是一个返回驱动设定参数的方法,但是真正执行打开ie的操作不是这个方法,是调用这个方法的地方,这个方法只是一个配置而已。纯手打!!望采纳~~

AppiumDriver和 AndroidDriver 之间的区别

启动appium,执行testng测试脚本,脚本启动配置项如下:import io.appium.java_client.AppiumDriver;import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability(CapabilityType.BROWSER_NAME, ““);//这句不是必须的capabilities.setCapability(“deviceName“,“Android Emulator“);capabilities.setCapability(“platformVersion“, “4.4“);capabilities.setCapability(“platformName“,“Android“);capabilities.setCapability(“appPackage“, “com.android.calculator2“);capabilities.setCapability(“appActivity“, “.Calculator“);AppiumDriver driver = new AppiumDriver(new URL(““), cap

python htmlunit怎么定位元素

用打开浏览器的方式(如火狐)测试代码如下,该代码来源虫师博客,调试通过from selenium import webdriver from selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys import Keysimport timebrowser = webdriver.Firefox() # Get local session of firefoxbrowser.get(“======================================================

appium中怎么连接android真机测试

启动appium,执行testng测试脚本,脚本启动配置项如下:import io.appium.java_client.AppiumDriver;import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability(CapabilityType.BROWSER_NAME, ““);//这句不是必须的capabilities.setCapability(“deviceName“,“Android Emulator“);capabilities.setCapability(“platformVersion“, “4.4“);capabilities.setCapability(“platformName“,“Android“);capabilities.setCapability(“appPackage“, “com.android.calculator2“);capabilities.setCapability(“appActivity“, “.Calculator“);AppiumDriver driver = new AppiumDriver(new URL(“http://127.0.0.1:4723/wd/hub“), cap

appium + java 怎么实现滑动页面到某个元素的位置 · TesterHome

public class MyAndroidDriver extends AndroidDriver {public MyAndroidDriver(URL remoteAddress, Capabilities desiredCapabilities) {super(remoteAddress, desiredCapabilities);}static String UiScrollable(String uiSelector) {return “new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(“+ uiSelector + “.instance(0));“;}/*** 滑动到某元素* @param uiScrollables 符合UiScrollable的string串* @return*/public WebElement scrollToElement(String uiScrollables ) {String uiScrollables = UiScrollable(uiScrollables );try {Thread.sleep(200);} catch (InterruptedException e) {e.printStackTrace();}return findElementByAndroidUIAutomator(uiScrollables);}}看了AndroidDriver源码中scrollTo方法之后的思路,当然了,这边的uiScrollables 需要构造,例如:new UiSelector().className(\“android.widget.TextView\“).textContains(\“测试测试\“).resourceId(\“com.xx.xxx:id/package_exchange_textview\“)

python selenium 怎么初始化驱动

ChromeDriver切换浏览器语言ChromeOptions options = new ChromeOptions();options.addArguments(“--lang=“ + “zh-CN“);WebDriver driver = new ChromeDriver(options);ChromeDriver设置启动chrome为默认用户的配置信息(包括书签、扩展程序、代理设置等), 运行程序前需关闭win7系统中采用默认配置打开的浏览器chrome// Windows下《br》ChromeOptions options = new ChromeOptions();options.addArguments(“user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data“);WebDriver driver = new ChromeDriver(options);ChromeDriver设置忽略 Chrome 浏览器证书错误报警提示ChromeOptions options = new ChromeOptions();options.addArguments(“--test-type“, “--ignore-certificate-errors“); WebDriver driver = new ChromeDriver(options);ChromeDriver设置Chrome参数使浏览器最大化并且默认不检查浏览器ChromeOptions options = new ChromeOptions();DesiredCapabilities capabilities = DesiredCapabilities.chrome();capabilities.setCapability(“chrome.switches“, Arrays.asList(“--start-maximized“));options.addArguments(“--test-type“, “--start-maximized“,“no-default-browser-check“); //意思好像是测试模式,最大化浏览器并且默认不检查浏览器WebDriver driver = new ChromeDriver(options);selenium打开带有扩展的chrome每当用跑用例失败的时候,第一反应就是查看元素定位是不是正确,帮助定位的扩展是必不可少的,但是selenium一般打开的是不带扩展的干净的浏览器,如果操作步骤很长的话,就得手动去执行直到那一步去检查元素,很费时,那怎么样让它打开的是带有扩展的浏览器呢,firefox简单,很多教程一搜照做即可,但chrome我搜索了一个小时都未见到···现在自己想办法解决了,记录下来供以后查阅。首先进入C:\Users(用户)\你的电脑名称\AppData\Local\Google\Chrome\User Data\Default\Extensions,点开Extensions,里面的文件夹就是安装过的扩展,(记得先把电脑隐藏文件夹显示出来,否则找不到) 但是名字是一堆我看不懂的无序的英文字母,我的办法是一个一个点开找到对应的插件版本号,版本号在chrome Extensions选项里找然后打包你需要的插件:打开chrome的设置,在里面点开扩展程序,选中开发者模式,你安装的插件的下面会出现一个ID,这个ID对应的就是你要打包的插件,然后打包扩展程序,找到对应的文件夹(或者你也可以把这个文件夹复制到电脑任意地方)下面的版本号的文件夹,也就是ID名文件夹内部的那个文件夹,然后点击打包扩展程序,就可以了,会相应的在版本号的同一级地方出现后缀名是crx和pem的文件,这个crx的文件就是我们需要的。准备工作完成,看代码:ChromeOptions options = new ChromeOptions();options.addExtensions(new File(“C:\\Users\\swang\\AppData\\Local\\Google\\Chrome\\UserData\\Default\\Extensions\\ijaobnmmgonppmablhldddpfmgpklbfh\\1.6.0_0.crx“));//添加扩展的方法,将crx文件所在的路径添加进去WebDriver driver=new ChromeDriver(options);

用appium测试的时候遇到这个报错,有没有大佬帮忙看看

启动appium,执行testng测试脚本,脚本启动配置项如下:import io.appium.java_client.AppiumDriver;import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability(CapabilityType.BROWSER_NAME, ““);//这句不是必须的capabilities.setCapability(“deviceName“,“Android Emulator“);capabilities.setCapability(“platformVersion“, “4.4“);capabilities.setCapability(“platformName“,“Android“);capabilities.setCapability(“appPackage“, “com.android.calculator2“);capabilities.setCapability(“appActivity“, “.Calculator“);AppiumDriver driver = new AppiumDriver(new URL(““), cap

appium能测试android 5.1吗

可以接下来我们研究一下测试知乎Android客户端。自行下载配置目录如下:把知乎客户端命名为zhihu.apk编写基于java testng的测试用例:由于本人是熟悉selenium webdriver,所以在Android对象识别时,采用的策略和selenium webdriver 类似怎么去识别APP的元素的,这里用到Android SDK tools 目录下的工具uiautomatorviewer ,执行uiautomatorviewer.bat就可首先解析zhihu app 拿到其package 和 activity,这里使用appium gui界面,具体操作如图:接下来识别APP的元素,比如登陆按钮,看到resourceId,可以是雨天webdriver的find Element By.id至于登陆用户名和密码,在Android中都是EditText控件,可以使用By.class完成对象识别,最终代码如下:package com.dbyl.core; import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import org.testng.Assert;import org.testng.annotations.AfterMethod;import org.testng.annotations.BeforeMethod;import org.testng.annotations.Test;import io.appium.java_client.android.AndroidDriver;import java.io.File;import java.net.URL;import java.util.List;import java.util.concurrent.TimeUnit; public class zhiHu { private AndroidDriver driver; @BeforeMethod(alwaysRun=true) public void setUp() throws Exception { // set up appium File classpathRoot = new File(System.getProperty(“user.dir“)); File appDir = new File(classpathRoot, “apps“); File app = new File(appDir, “zhihu.apk“); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ““); capabilities.setCapability(“platformName“, “Android“); capabilities.setCapability(“deviceName“,“Android Emulator“); capabilities.setCapability(“platformVersion“, “4.4“); //if no need install don’t add this capabilities.setCapability(“app“, app.getAbsolutePath()); capabilities.setCapability(“appPackage“, “com.zhihu.android“); //support Chinese capabilities.setCapability(“unicodeKeyboard“ ,“True“); capabilities.setCapability(“resetKeyboard“, “True“); //no need sign capabilities.setCapability(“noSign“, “True“); capabilities.setCapability(“appActivity“, “.ui.activity.GuideActivity“); driver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub“), capabilities); } @AfterMethod(alwaysRun=true) public void tearDown() throws Exception { driver.quit(); } @Test(groups={“ZHTest“}) public void Login(){ //find login button WebElement loginButton = driver.findElement(By.id(“com.zhihu.android:id/login“)); loginButton.click(); //wait for 20s driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); //find login userName and password editText List《WebElement》 textFieldsList = driver.findElementsByClassName(“android.widget.EditText“); textFieldsList.get(0).sendKeys(“seleniumcookies@126.com“); textFieldsList.get(1).sendKeys(“cookies123“); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); //find ok button byName driver.findElementByName(“OK“).click(); driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS); //find keyword 首页 and verify it is display Assert.assertTrue( driver.findElement(By.name(“首页“)).isDisplayed());}}接下来就可以debug,首先启动Android模拟器 ,启动完毕后再明明很测试,若结果如下:说明模拟器可以使用接下来在命令行运行apppium等待1-2分钟run as testng,就能看到自动安装,登陆知乎PASSED: Login===============================================Default testTests run: 1, Failures: 0, Skips: 0==============================================================================================Default suiteTotal tests run: 1, Failures: 0, Skips: 0=============================================== Time taken by org.testng.reporters.EmailableReporter2@4474c7fe: 1938 ms Time taken by org.testng.reporters.JUnitReportReporter@1fdf50a3: 121 ms: 0 ms Time taken by org.testng.reporters.XMLReporter@697748ae: 423 ms Time taken by org.testng.reporters.jq.Main@68450212: 1669 ms Time taken by org.testng.reporters.SuiteHTMLReporter@7f92deaf: 240 ms

如何在 iOS 真机运行 Appium

首先Appium支持iOS真机以下条件必须满足:苹果开发者账号和开发者证书苹果设备,确保这个设备已经被配置为开发机器。怎么配置?签名过的.ipa文件或者源代码AMacwithXcodeandtheXcodeCommandLineDeveloperTools,有xcode和xcodecommandline的苹果系统。别来问我,windows怎么测试iOS应用。ProvisioningProfile再次强调真机需要有效的开发分发证书和开发的ProvisioningProfile。你的应用需要签名。Appium会参试使用Fruitstrap安装应用。但是使用xcode安装到真机会方便很多。拓展:什么是ProvisioningProfile?运行要指定真机运行有两种方式:appium启动的时候,指定udid和appbundleappium-U--app或者在脚本里指定两个desiredcapabilitydesired_capabilities={’app’:’com.xxx.iphone’,’udid’:’70643e56c1b0f3c3132c44c87e433a48b5531ee6’,’platformName’:’iOS’,’deviceName’:’iPhone’})注意:如果设备中未安装app可以指定ipa地址,如果安装了,则指定bundleID。所以对于第一种情况,代码可以这样写:self.driver=webdriver.Remote(command_executor=’hub’,desired_capabilities={’deviceName’:’’,’platformName’:’iOS’,})对于第二种情况,代码可以这样写:app=“io.appium.TestApp“self.driver=webdriver.Remote(command_executor=’hub’,desired_capabilities={’deviceName’:’’,’platformName’:’iOS’,’app’:app,’udid’:’cc6bcd6a94aeb8490924dd05c5b318bfbfafb3bb’})调试的思路确保UDID的正确,是真机的UDID。(20+字符串)确保在模拟器上已经能运行无误了。直接使用Instruments看看是否能在真机上运行。有些情况连xcode的instruments都不能在真机上调试,那更别谈appium了确保运行appium用例前,instruments没有启动过。看看有没有instruments的进程。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 洋葱泡红酒的做法及功效禁忌_洋葱泡红酒的做法及功效

下一篇: 各国货币名称叫什么(各国货币名称)



推荐阅读