zoukankan      html  css  js  c++  java
  • Appium

    1.下载appium桌面版本后,启动inspector 需要配置 apppackage 和 appactivity ,如何简单的获取?

    在已安装适当版本的JDK与SDK后,运行cmd 输入

    adb shell dumpsys window windows | findstr "Current"

    命令会显示当前模拟器界面应用的apppackage 和 appactivity


     

    2.appium如何连接真机?

    1.手机usb连接电脑,手机开启USB调试

    2.测试手机是否已连接电脑,cmd运行,得到手机的名字

    adb  devices

    3.获取appium连接手机需要的appPackage与appActivity,打开对应的app,电脑cmd运行

    adb shell dumpsys activity recents find "intent={"

    得到一下信息,第一行中的{}内,便是apppackage 和 appactivity

    intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.tencent.mm/.ui.LauncherUI}


    3.appium如何连接MuMu模拟器 

    1.前提:已经安装JDK,SDK,APPIUM,MuMu模拟器

    2.需要手动连接MuMu模拟器的服务地址,打开cmd输入,连接成功。

    adb connect 127.0.0.1:7555

    4.查看当前手机或模拟器的输入法

    cmd输入

    adb shell ime list -s

    5.微信如何定位网页元素?

    许多微信小程序都内置html元素,appium内置定位无法使用,需要使用chrome自带的adb定位

    1.首先需要开启微信【TBS内核Inspector调试功能】

    微信扫描二维码➡信息➡打开TBS内核Inspector调试功能

    2.确保手机或模拟器已经连接电脑,cmd运行 adb devices 查看

    3.使用chrome定位元素,访问地址

    chrome://inspect/#devices

     如果以上设置正确,便可以看到相对的微信小程序,点击insepect就可以查看对应的网页元素了


    6.通过cmd执行adb命令模拟按键事件 KeyCode

    通过adb命令可以方便的控制androd系统执行命令

    C#中可以通过运行cmd程序执行adb命令

    以下代码可以运行cmd并且输入命令输出结果

                string str = "adb shell input keyevent  66";
                System.Diagnostics.Process p = new System.Diagnostics.Process();
                p.StartInfo.FileName = "cmd.exe";
                p.StartInfo.UseShellExecute = false;    //是否使用操作系统shell启动
                p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
                p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
                p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
                p.StartInfo.CreateNoWindow = false;//不显示程序窗口
                p.Start();
                //向cmd窗口发送输入信息
                p.StandardInput.WriteLine(str + "&exit");
                p.StandardInput.AutoFlush = true;
                //p.StandardInput.WriteLine("exit");
                //向标准输入写入要执行的命令。这里使用&是批处理命令的符号,表示前面一个命令不管是否执行成功都执行后面(exit)命令,如果不执行exit命令,后面调用ReadToEnd()方法会假死
                //同类的符号还有&&和||前者表示必须前一个命令执行成功才会执行后面的命令,后者表示必须前一个命令执行失败才会执行后面的命令
                //获取cmd窗口的输出信息
                string output = p.StandardOutput.ReadToEnd();
                //StreamReader reader = p.StandardOutput;
                //string line=reader.ReadLine();
                //while (!reader.EndOfStream)
                //{
                //    str += line + "  ";
                //    line = reader.ReadLine();
                //}
                p.WaitForExit();//等待程序执行完退出进程
                p.Close();
                Console.WriteLine(output);

    常用ADB按键模拟命令:Click Here


    7.Chrome app,混合app应用调试如何设置。

    背景:只测试了chome浏览器,并且chrome浏览器是正式版本,不是beta版本

    1.纯chorme app

    配置的时候设置 broswername 为 chrome 【这一步相当于使用selenium的IWebDriver,并且自动配置了package和activity】,

    配置的时候要设置driver的地址

     appiumOptions.AddAdditionalCapability("browserName", "Chrome");
     appiumOptions.AddAdditionalCapability("chromedriverExecutable", @"C:Usersszsm.tangpengDesktopFrankdriverchromedriver.exe");

    2.混合应用

    配置package和activity,进入应用后,遇到webview后切换,使用语句

    driver.Context = driver.Contexts[1];
    //contexts中包含了navtive app 和所有的webview,找到对应的webview切换过去

    7.ADB命令,如何查看当前app进程id

    //查看手机当前页面的app进程
    adb shell dumpsys activity top | findstr ACTIVITY
    
    //查看手机指定进程的信息
    adb shell ps 9566
  • 相关阅读:
    jieba库的使用和词云
    类和正则表达
    数据库实践
    自己的第一个网页
    第一个爬虫和测试
    Linux 知识总结
    Python argparse模块基本用法
    Python面向对象编程
    linux Nginx发布基于PHP的WEB
    Linux nginx发布基于python的WEB环境
  • 原文地址:https://www.cnblogs.com/tangpeng97/p/12532478.html
Copyright © 2011-2022 走看看