精华内容
下载资源
问答
  • Appium 微信 webview 的自动化技术

    万次阅读 2017-04-17 14:06:33
    目录 ...最近好多人问微信webview自动化的事情, 碰巧我也在追微信webview的自动化和性能分析方法. 先发出来一点我的进展给大家参考下. 此方法用于android平台, iOS请自行解决微信的设置用微信打开d
        <blockquote>
    

    最近好多人问微信webview自动化的事情, 碰巧我也在追微信webview的自动化和性能分析方法.
    先发出来一点我的进展给大家参考下. 此方法用于android平台, iOS请自行解决

    微信的设置

    用微信打开debugx5.qq.com, 这是个微信的x5内核调试页面. 你可以在任何聊天窗口内输入这个网址. 并打开它.
    勾选”是否打开TBS内核Inspector调试功能”

    使用ChromeDriver编写测试用例

    首先安装ChromeDriver
    从官方下载或者从你的appium的安装路径里面找chromedriver. 在appium的执行日志里面其实也会打印chromedriver的路径的
    然后在电脑上启动它, 设置好端口

    chromedriver --url-base=wd/hub --port=8000
    

    可以使用selenium或者appium的客户端去编写测试用例.
    如下是我的scalatest的测试用例. 大家可以自己用其他的语言实现

    test("test chromedriver weixin") {
      val options = new ChromeOptions()
      options.setExperimentalOption("androidPackage", "com.tencent.mm")
      options.setExperimentalOption("androidUseRunningApp", true)
      options.setExperimentalOption("androidActivity", ".plugin.webview.ui.tools.WebViewUI")
      options.setExperimentalOption("androidProcess", "com.tencent.mm:tools")
      val capability = DesiredCapabilities.chrome()
      capability.setCapability(ChromeOptions.CAPABILITY, options)
      val url = "http://127.0.0.1:8000/wd/hub"
      val driver = new AndroidDriver[WebElement](new URL(url), capability)
      driver.get("https://testerhome.com/topics/6954")
      println(driver.getPageSource)
      driver.quit()
    }
    

    使用appium编写测试用例

    有人会经常问为什么android上appium不能自动化微信webview, 其实是可以的. 主要是目前的appium有个bug导致的.
    在appium中context的切换时, 没有带上一个关键的androidProcess配置导致的.
    他会导致appium识别webview的时候, 把com.tencent.mm:tools的webview识别成com.tencent.mm的webview. 从而导致context切换失败.

    正确的用appium测试微信h5的方法如下

    test("test weixin h5") {
      val capability = new DesiredCapabilities()
      capability.setCapability("app", "")
      capability.setCapability("appPackage", "com.tencent.mm")
      capability.setCapability("appActivity", ".ui.LauncherUI")
      capability.setCapability("deviceName", "emulator-5554")
      capability.setCapability("fastReset", "false")
      capability.setCapability("fullReset", "false")
      capability.setCapability("noReset", "true")
      //capability.setCapability("unicodeKeyboard", "true")
      //capability.setCapability("resetKeyboard", "true")
    
      //关键是加上这段
      val options = new ChromeOptions()
      options.setExperimentalOption("androidProcess", "com.tencent.mm:tools")
      capability.setCapability(ChromeOptions.CAPABILITY, options)
    
      val url = "http://127.0.0.1:4723/wd/hub"
      val driver = new AndroidDriver[WebElement](new URL(url), capability)
      println(driver.getPageSource)
      driver.findElementByXPath("//*[@text='我']").click
      driver.findElementByXPath("//*[@text='收藏']").click
      driver.findElementByXPath("//*[contains(@text, '美团外卖')]").click
      println(driver.getPageSource)
      println(driver.getContextHandles)
      driver.context("WEBVIEW_com.tencent.mm:tools")
      println(driver.getPageSource)
    }
    

    最关键的就是这句

    val options = new ChromeOptions()
    options.setExperimentalOption("androidProcess", "com.tencent.mm:tools")
    capability.setCapability(ChromeOptions.CAPABILITY, options)
    

    后记

    之前测试加上ChromeOptions配置的时候没有成功, 我以为是appium不支持ChromeOptions, 就给appium-android-driver提交了一个PR
    后来jlipps提醒了我一下

    我就又追查了几遍, 最后发现是我本地安装appium时候加上的http_proxy环境变量干扰了ChromeDriver的执行.
    Appium其实是支持ChromeOptions的

    结论也就是现在的Appium其实是可以完美的做微信自动化的

    我在想我是不是国内第一个提供微信webview自动化方法的人
    借鉴此思路的同学转发请注明原链. https://testerhome.com/topics/6954

    展开全文
  • Adobe Photoshop脚本自动化技术

    千次阅读 2014-07-24 17:00:21
    Adobe Photoshop脚本自动化技术是广泛采用的一种技术,它和Adobe Photoshop插件开发不是一个东西。基于PS SDK的插件开发主要是在PS内部提供一些复杂的、高性能的图片处理工具,而PS脚本自动化技术则多用于图片的...

    Adobe Photoshop脚本自动化技术是广泛采用的一种技术,它和Adobe Photoshop插件开发不是一个东西。基于PS SDK的插件开发主要是在PS内部提供一些复杂的、高性能的图片处理工具,而PS脚本自动化技术则多用于图片的批处理。

    在Adobe Photoshop的安装目录下,有一个Scripting文件夹,里面包含了PS脚本自动化技术的文档和参考脚本样例。

    其中打开文档的vbs脚本内容如下:

    ' Copyright 2002-2008.  Adobe Systems, Incorporated.  All rights reserved.
    ' This script demonstrates how to open a Photoshop document from the samples folder
    
    Option Explicit
    
    Dim appRef
    Dim docRef
    Dim fileName
    
    Dim strSamples
    Dim strLayerComps
    Dim strLocString
    Dim strArg
    
    Set appRef = CreateObject( "Photoshop.Application" )
    
    appRef.BringToFront
    
    strSamples = "$$$/LocalizedFilenames.xml/SourceDirectoryName/id/Extras/[LOCALE]/[LOCALE]_Samples/value=Samples"
    strArg = Array(strSamples)
    Call getLocString(strSamples)
    
    strLayerComps = "$$$/LocalizedFilenames.xml/SourceFileName/id/Extras/[LOCALE]/[LOCALE]_Samples/Layer_Comps.psd/value=Layer Comps.psd"
    strArg = Array(strLayerComps)
    Call getLocString(strLayerComps)
    
    fileName = appRef.Path & "\" & strSamples & "\" & strLayerComps
    Set docRef = appRef.Open( fileName )
    
    MsgBox "Open Document complete"
    
    ' ===============================================
    ' getLocString functions
    ' ===============================================
    ' on localized builds we pull the $$$/Strings from a .dat file, see documentation for more details
    Function getLocString(strLocString)
    
    	Dim objWshShell
    	Dim myScriptPath
    	Dim myFSO
    	Dim strJSXFile
    
    	Set objWshShell = WScript.CreateObject("WScript.Shell")
    	myScriptPath = objWshShell.CurrentDirectory
    	Set myFSO = CreateObject("Scripting.FileSystemObject")
    	strJSXFile = myScriptPath + "\localize.jsx"
    
    	strLocString =  appRef.DoJavaScriptFile(strJSXFile,Array(strLocString),1)
    
    End Function

    转换为VC代码如下:

    CApplication m_app;
    if(!m_app.CreateDispatch("Photoshop.Application"))
    	{
    		MessageBox("PS初始化失败");
    		PostQuitMessage(0);
    	}
    m_app.Open("D:\\1.psd");

    在PS中进行脚本录制,完成后,在采用编码的方式将录制的多个脚本(一般为jsx)拼合为一个应用程序,加上辅助一些文件管理、业务逻辑等,可以解决一些比较复杂的图片批处理需求了。

    展开全文
  • 网页自动化技术实现登录

    千次阅读 2017-05-14 07:17:40
    自动化技术,是不需要人的参与,通过自动化程序,让别人的程序自动按照一定的流程执行的一种技术。 (1)举例说明应用 例如,每天需要登录十个网站,每个网站都需要输入用户名,密码,是不是很麻烦,能不能通过一种...
    自动化技术,是不需要人的参与,通过自动化程序,让别人的程序自动按照一定的流程执行的一种技术。
    

    (1)举例说明应用

    例如,每天需要登录十个网站,每个网站都需要输入用户名,密码,是不是很麻烦,能不能通过一种技术,每天自动登录,这就是简单的网页自动化应用;
    例如:我非常关心十个网站的信息,每当这些信息有更新的时候,我希望系统能够自动将变更的内容,以网页的形式发给我,每天,我只需要一点按钮,就全知道了;
    例如,每天我都需要在一个网站做大量的重复操作,我是不是能够做自动化程序,让计算机自动的帮助我操作,减少鼠标操作,维护身体健康等等。

    (2)C#网页自动化的关键技术

    2.1 DOM:文档对象模型;
    2.2 HTML;
    2.3 XML;
    2.4 Http协议;
    2.5 webbrowse控件等。

    (3)自动登录的源码

    HtmlElement tbUserid = wb1.Document.All["username"];
    HtmlElement tbPasswd = wb1.Document.All["userpass"];
    if (tbUserid == null || tbPasswd == null )
    return;
    
    tbUserid.SetAttribute("value", "userid");
    tbPasswd.SetAttribute("value", "password");
    
    HtmlDocument htm = this.wb1.Document;
    HtmlElementCollection all = htm.All;
    
    for (int i = 0; i < all.Count; i++)
    {
        HtmlElement elem = all[i];
        if (elem.TagName.ToLower() == "a")
       {
           if (elem.OuterHtml != null)
           {
               int pos = elem.OuterHtml.IndexOf("登录");
               if (pos > 0)
               {
                    elem.InvokeMember("click");
               }
           }
       }
    }
    【总结】:网页自动化技术是一项拥有广泛应用的计算机技术,由于网络的复杂性,该项技术的使用具有复杂性,读取网页对象的各种属性,进而操作网页,由于没有统一的标准,个性化较强,需要具体问题具体分析。同时,在网页自动化的过程中,会遇到各式各样的难题,有兴趣就一起研究吧。


    展开全文
  • 当前,人工智能技术的应用实现了对模拟量数据、开关量的自动化、实时动态处理和采集,并且根据系统的设计要求,批量化地定时进行存贮和整理,同时应用图像生成软件,模拟电气自动化系统的实际运行情况,工作人员可...

    1.实现了电气自动化系统的保护和控制功能

    当前,人工智能技术的应用实现了对模拟量数据、开关量的自动化、实时动态处理和采集,并且根据系统的设计要求,批量化地定时进行存贮和整理,同时应用图像生成软件,模拟电气自动化系统的实际运行情况,工作人员可直观地看到断路器、隔离开关、电压、电流等设备和参数的变化[3],工作人员结合电气自动化系统实际运行要求,编制专业图表,分析相关数据,在这个过程中需注意由于画面和图片所占的电气自动化系统资源比较多,因此应充分考虑到电气自动化系统控制端设备的运行性能和对软件系统的要求,防止控制终端由于采集大量图像占用大量资源,消耗运算资源,影响电气自动化系统中其它程序的正常运行。另外,电气自动化系统的操作控制,工作人员可通过鼠标或者键盘远程控制断路器和隔离开关,自动调整励磁电流,修改或设定在线参数,提高电气自动化系统运行的可靠性和稳定性。

    2.诊断电气故障

    电气自动化系统实际运行过程中,传统诊断技术的效率和准确度较低,并且系统中变压器、发电机、发动机等设备故障频繁发生,以往工作人员多是分析变压器油的气体,结合油样气体成分判断是否发生故障,这种诊断方法的时效性较差,需耗费大量人力和时间。由于电气自动化系统的很多故障和事故都具有不确定性和突发性,系统故障和问题必须在第一时间快速进行解决,若诊断处理方法不合理或者故障处理不及时,会给国家、社会和企业造成巨大损失。而在电气自动化系统中应用人工智能技术,运用专家系统、模糊理论和神经网络,实现对电气自动化系统的实时控制,一旦发现系统故障,自动进行故障诊断,极大地提高电气自动化系统故障诊断的效率和准确性。

    3.提高电气控制有效性

    人工智能技术在电气控制中也发挥着非常重要的作用,电气控制系统的安全、稳定运行是很多企业面临的难题,并且电气控制对于工作人员的操作控制的标准性和规范性有着很高的要求,而具体的操作控制步骤也比较复杂麻烦,因此我国专家学者一直致力于不断提高电气控制系统的操作控制水平。在电气控制中应用人工智能技术,其利用自动化计算和计算机系统,代替工作人员完成某些工作,最大程度地减少了人为误操作,极大地提高了操作控制准确性。同时,人工智能技术在电气控制系统中的应用,应用直观明了的界面化形式,简化了电气系统的操作和控制流程,基于计算机网络系统,实现对电气系统某些环节的远程控制操作。另外,实时地储存电气控制系统重要资料和信息,为日后查询提供便利,人工智能技术可自动生产报表,减少财力、物力和人力等资源的投入,有效提高电气控制系统的精确度和工作效率。电气控制系统中应用人工智能技术主要包括模糊控制、神经网络控制、专家系统控制等多方面内容,电气控制系统中的交流和直流传动通过模糊控制来实现,用模糊控制器代替常规的调速控制器,确保电气控制的准确性。

    4.提高电气设备设计水平

    电气设备设计是一项专业、复杂的系统工作,设计人员需要熟练掌握电机电器、电磁场、电路等学科专业知识,还需积累丰富的电气设计经验。传统的电气设备设计主要是工作人员在实验室根据相关设计要求手动的设计制作,一旦电气设备产品成型很难再进行修改或者优化,不仅维护管理比较麻烦,而且难以获得最佳的设计方案。随着计算机技术的快速发展,电气设备产品的手工设计已经无法满足电气系统发展要求,而应用人工智能技术可利用计算机系统进行辅助设计,如使用二维三维CAD,可根据设计要求随时对设计方案进行修改和优化,有效缩短了电气设备产品开发周期。同时,电气设备产品设计中应用遗传算法,优化电气设备性能,由于电气设备故障具有非线性和不确定性,通过应用人工智能技术,可建立设备故障和运行状态之间的关系,提高电气设备设计水平。

    近年来,计算软件技术、微电子技术的快速发展,促进了人工智能技术的发展,被广泛地应用在各种领域。电气自动化中应用人工智能技术,充分发挥了人工智能的多方面优势,有效提高了电气自动化系统运行的安全性和可靠性。
      人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
    1.人工智能时代,AI人才都有哪些特征?
    http://www.duozhishidai.com/article-1792-1.html
    2.大数据携手人工智能,高校人才培养面临新挑战
    http://www.duozhishidai.com/article-7555-1.html
    3.人工智能,机器学习和深度学习之间,主要有什么差异
    http://www.duozhishidai.com/article-15858-1.html


    多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

    多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
    展开全文
  • 前言 提示:自动机器学习(AutomatedMachine Learning, AutoML)技术是当前机器学习领域热点研究和迅速...本次分享将介绍AutoML的定义、目标和研究领域,梳理、回顾自动化超参数调优算法和机器学习管道创建方法,并对主流
  • 工业控制自动化技术

    千次阅读 2012-07-30 15:56:56
    工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其它信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加产量、提高质量、降低消耗、确保安全等目的的综合性技术,主要包括工业...
  • 1.自动化测试简介 1.1 什么是自动化测试 1.2 自动化测试的前提 1.3 自动化测试的优势 1.4 自动化测试的局限 2.自动化测试框架及工具的选择 2.1 主流自动化测试框架及工具介绍 2.2 自动化测试框架及工具的分析与选择
  • 面试的时候你首先要明白一点: 面试官有非常大的可能是不会自动化的:(拿到了四家的offer,因为工作地点...)他们有的全程不问你自动化的知识,有的全程都问自动化,问自动化的UI,API知识,不懂还想懂,问的问题...
  • 首先说一下无人驾驶的概念,无人驾驶技术就是车辆以自动的方式持续地执行部分或全部动态驾驶任务。“通过多种车载传感器(如摄像头、激光雷达、毫米波雷达、GPS、惯性传感器等)来识别车辆所处的周边环境和状态,并...
  • 未来几年,自动化发展趋势展望

    万次阅读 2019-03-23 15:19:00
    生产制造自动化系统将会利用标准的运行监控模块来监视设备状态。供应商将提供基于统计数据的强制性算法模块,并推荐服务和重新校验的频率。 内置系统安全性(基于行业要求)。与通用连接性一起成为通用安全的...
  • 绑定人的自动化技术 自动化这个概念,是由福特汽车公司的机械工程师哈德在1946年的时候提出。理论上自动化是指机械设备系统或整个生产管理过程,在尽可能少用人的情况下,按照既定要求自动工作,实现预期的目标。 这...
  • Web UI自动化框架搭建

    千次阅读 2018-05-26 20:09:20
    大家可以根据自己项目技术栈,选择合适的语言+外加Unit Test框架,来构建自己的Web UI自动化项目。比如:Java+Selenium+JUnit/TestNG,Python+Selenium+UnitTest等。 页面元素定义 方法库 层级结构组织 页面...
  • 前言:之前靠网上的大佬带,学了一点也算是爬虫的一个东西——浏览器自动化,现在算是整理总结或者是回报社会吧x 准备:① Python 3.6  ② selenium库  ③ google chrome driver (感谢 ...
  • Android自动化的一般方法

    万次阅读 2018-07-02 16:53:23
    1背景https://mp.weixin.qq.com/s/B7o3JSkYI_9c4RivatsZKQAndroid自动化包含自动化测试和第三方App的自动化运行,这里的自动化测试主要指的是纯粹的黑盒测试,即在完全不了解代码逻辑的情况下编写的测试用例,可以...
  • 本文收集整理了2021年新兴技术成熟度曲线、2022年的顶级战略技术趋势、2021年人工智能技术成熟度曲线,结合本人关注点,重点梳理了AI与超自动化支撑数字化变革。
  • 自动化、信息化、数字化、智能化
  • 软件测试_自动化测试

    千次阅读 2019-11-19 13:39:29
    自动化测试 什么是自动化测试 通过测试工具来执行测试用例,完成测试工作。 自动化测试与测试自动化 自动化测试 测试自动化 焦点集中在测试执行,主要由测试工具自动地完成测试 一切由计算机系统自动完成...
  • 自动化测试

    万次阅读 2019-06-14 14:03:45
    而自动化质量取决于测试自动化者的自动化技术。  图2-1说明了测试与自动化测试在测试用例的四个质量特征上的区别。 图2-1 测试用例质量Keviat图 1.2 自动化测试生命周期的概述 1.2.1 自动化测试过程 ...
  • 一、理解软件测试自动化 1.自动化测试的含义 自动测试就是用程序代替人的手工操作,完成一系列测试的过程。 √     自动化工具能自动打开程序、自动执行测试用例、自动查找控件、自动产生...
  • 自动化运维

    千次阅读 2019-05-28 21:22:46
    一、传统运维方式简介 传统的IT运维仍然是等到IT故障出现后再由运维人员采取相应的补救措施。...IT运维已经在风风雨雨中走过了十几个春秋,如今它正以一种全新的姿态摆在我们面前,运维自动化是IT...
  • 首席安全官Plus是一个围绕“大数据、云计算和人工智能”高技术领域,发布相关网络安全前沿技术和产业趋势的平台,努力打造“有特色、高水平、国际”的网络安全思想高地。如投稿,请发送到:csoplus@163.com。 ...
  • 不管你是刚入行的小白,还是已经在做软件测试的工作,相信你一定听说过或者接触过自动化测试。那么,自动化测试到底是什么意思呢? 顾名思义,自动化测试是,把人对软件的测试行为转化为由机器执行测试行为的一种...
  • 公司要求招一名自动化测试,能力要求不高,1年左右自动化经验+部分性能经验即可,让我出一份题,我就百度+公司项目遇到的问题,出了一份,出题整体思路是:接口自动化问题+性能问题+规划的ui、app自动化+整体质量...
  • 为什么中国电气自动化工程师这么难招

    千次阅读 多人点赞 2020-08-26 00:18:45
    20200825 当今中国最缺的是技术型人才,制造业直接体现了一个国家的生产力水平。现在自动化行业现状就是招不到人、留不住...自动化专业的人根据自身的专业程度和经验可以找到以下岗位的工作:电工(2~3K),技术员(3~4K)
  • 文丨e-works原创专题在国外的制造业发展过程中,工业自动化在其生产中占据着重要一环,其每单位的工业机器人比率都远超过国际55的标准,但国内制造业自动化应用则远落后于这一标准,我国在工业自动化的道路上任道而...
  • 不少测试同行寻问我要测试技术交流群,所以,借CSDN平台发布一下:软件测试技术交流群(纯技术交流)。以下技术交流群为测试同行技术交流用,共同进步。1、自动化|性能测试技术交流群(1群):272819728
  • 自动化分层测试基础

    千次阅读 2017-04-17 11:25:02
    什么是自动化测?  首先理清自动化测试的概念,广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner、jmeter),或自己所写的一段程序,...
  • Web自动化测试实战(一)

    万次阅读 多人点赞 2019-08-23 15:41:39
    一丶认识web自动化测试 1. 什么是自动化测试? 2.为什么进行自动化测试? 3.自动化测试的分类 二丶元素定位 1.为什么要学习定位元素? 2.元素定位的工具或手段有哪些? 3.环境及工具 4.css选择器 一丶认识web...
  • 2019WEB栈自动化测试技术(五)

    千人学习 2019-06-28 13:53:08
    课程介绍 学习目标:通过学习Python、VBScript等脚本语言,掌握自动化测试与性能测试的测试开发手段,进阶高级软件测试工程师。 完成项目:1.个人网银自动化测试;2.慕课(MOOC)系统性能测试。
  • 2019高级自动化测试技术(六)

    千人学习 2019-06-28 14:02:38
    学习目标: 熟悉性能测试方法,熟练运用主流测试工具进行接口测试。 完成项目: 慕课(MOOC)系统性能测试 跨平台系统接口测试

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,187,851
精华内容 475,140
关键字:

自动化技术