appium

测试开发面试题汇总20200422

眉间皱痕 提交于 2020-04-23 22:23:47
一、字节 1、框架选型,为什么选robotframework+appium(面试官觉得这两个框架太笨重了,) 2、robotframework 是怎么实现关键字驱动的,原理 3、appium 是如何支持多语言的,它运行的原理 4、编码 给一个随机函数random,该函数只能随机生成0,1 用这个函数生成0-1000之间的数字, 6、测试用例设计 主要还是问了项目经验,简历上写的东西,你都要准备啊啊啊 ,估计凉凉了~但是面试官很nice,感觉他懂的很多 二、B站 面试官也是个很nice的小哥哥,聊得很愉快,哈哈哈 1、先问了一下是不是经常用B站,感觉B站有哪些业务 2、印象深刻的bug(客户端、服务端) 3、嵌入到APP内的H5页面,你怎么测试,测试点 4、首页自动播放的视频,(不通业务方的视频,都会实时播放,)测试点 6、简单描述冒泡排序 7、收银系统,分时段对账,但是某个时间段发现对账不准备,猜测可能有哪些问题(小数点的四舍五入,数据库精度问题) 8、有没有考虑自动化测试的时候加入埋点数据上报 好像其他也没什么了, 感觉聊得挺愉快的~哈哈哈哈 炒鸡想去B站,不知道为什么, 就像我喜欢你,没有理由 = = 心得:平时还是要加强学习,客户端& H5 ,服务端,开发语言,等等等等。。。 要学的东西好多好多! 来源: oschina 链接: https://my.oschina.net

软件测试如何获得高薪?

懵懂的女人 提交于 2020-04-21 20:38:33
做自动化测试后悔吗? 后悔,真的后悔! 后悔没有早点学..... 虽然到处都在散播35+的焦虑,姑且信之,那么反问你,如果你30岁了,那么给你5年,能够在某个领域成为专家呢?希望你能够在焦虑的时代静下心来思考一下职业的规划。文章可能有点长,预计阅读时间8分钟,希望在碎片化知识时代能够引起你的短暂思考。 先说一下作为一个测试工程师,自己的“技能树”应该如何点亮: 看到这些,你还会说测试学的简单吗? 身为一名合格的测试工程师,是需要具备以下技能的: 测试基础理论/测试设计能力 业务知识 行业技术知识 数据库 掌握编程语言 搞定自动化测试 质量流程管理 测试基础理论/测试设计能力 比如说,边界值分析、等价类划分、因果图、判定表、正交实验设计等,这些基本的测试基础,科学的设计方法能够很好的规范我们的行为,从而帮我们理清思路和提升效率。很多人会觉得简答,从而忽视基础的牢固程度,往往最基础的地方,最难做到精通。 业务知识 这个看起来很虚,貌似没有具体的知识点,但是做过测试的都知道,往往这部分是非常重要的。如果不懂得业务知识,那就是蛮干和瞎干。作为一个测试人员,最应该的是从用户的角度去思考问题,而不是开发这边,找到核心业务和功能,然后划分测试优先级,定级缺陷,另外尤其对于自动化也是非常重要。举个例子,你只有掌握了业务的特性,才能够用自动化的手段去首先覆盖哪些场景

Appium无线连接安卓终端方法 + ADB Shell常用命令(持续更新)

北战南征 提交于 2020-04-18 02:19:37
ADB无线连接手机的方法 1)手机与PC有线相连 - 检查是否连接正常: adb devices - 执行以下命令:adb tcpip 5555 # 当前9001 - 成功提示:restarting in TCP mode port 5555 - 然后断开USB - 查看手机USB调试是否打开;PC端是否安装手机驱动。 2)接着执行adb connect (ip):5555,这时候应该就能连接成功了 - 成功提示:connected to (ip):5555 3) 断开连接: - adb disconnect (ip) 这时候在执行Appium, 运行的就是无线连接的设备了. 该方法可以用于耗电测试等 注意: 1. 手机需要开启了USB调试 2. 手机和电脑需要在同局域网 3. connect缺省端口是5555, 如果5555端口开启, 则adb connect 后面不需要加端口号. 如果开启的是其他端口, 则connect时需要增加对应的端口号. adb常用命令: 1. 安装程序: adb install *path* 2. 启动adb服务: adb start-server 3. 关闭adb服务: adb kill-server 4. 查看当前adb连接的终端数和名称: adb devices 5. 无线连接手机: adb connect ip 6. 无线取消连接手机: adb

How to run two different wdio.config.js file one after another

半城伤御伤魂 提交于 2020-04-16 08:26:48
问题 I currently have two wdio.config.js files with different configurations. How can i run both one after another? Is it possible? This is how I am defining in the code: first config.js const { join } = require('path'); require('@babel/register') exports.config = { maxInstances: 3, runner: 'local', // specs: [ './tests/specs/**/*.spec.js' ], // exclude: [ // 'path/to/excluded/files' ], // // baseUrl: 'http://localhost:9174/', capabilities: { chromeBrowser: { capabilities: { browserName: 'chrome'

How to run two different wdio.config.js file one after another

こ雲淡風輕ζ 提交于 2020-04-16 08:25:08
问题 I currently have two wdio.config.js files with different configurations. How can i run both one after another? Is it possible? This is how I am defining in the code: first config.js const { join } = require('path'); require('@babel/register') exports.config = { maxInstances: 3, runner: 'local', // specs: [ './tests/specs/**/*.spec.js' ], // exclude: [ // 'path/to/excluded/files' ], // // baseUrl: 'http://localhost:9174/', capabilities: { chromeBrowser: { capabilities: { browserName: 'chrome'

IOS APP自动化测试 真机测试 遇到的坑

℡╲_俬逩灬. 提交于 2020-04-14 16:31:29
【推荐阅读】微服务还能火多久?>>> 1. 'CocoaAsyncSocket/CocoaAsyncSocket.h' file not found /usr/local/n/versions/node/10.4.0/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent * 打开terminal到上面的目录下, 执行以下命令来配置项目: $ mkdir -p Resources/WebDriverAgent.bundle $ ./Scripts/bootstrap.sh -d 2. A build only device cannot be used to run this target. 3. linker command failed with exit code 1 (use -v to see invocation) 来源: oschina 链接: https://my.oschina.net/u/4283640/blog/3234624

appium---Activity

有些话、适合烂在心里 提交于 2020-04-13 16:00:46
【今日推荐】:为什么一到面试就懵逼!>>>   在做自动化的过程中,我们都会发现每次都要从头开始点,一直要点到最后,如果中间出现错误,就需要重现去点,这样很麻烦也很费时间,今天我们来认识一种非常简单的方法,想要测试那个页面,我们就直接跳转到哪个页面进行测试。 Activity Activity是Android系统中的四大组件之一,可以用于显示View。几乎所有的Activity都是对于用户进行交互的,如果还不懂的话,页面,我们所看到的app中的页面就属于一个Activity。其中Android四大组件有Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器。 言归正传,我们继续说我们的想要每次都启动到我们想要的页面,既然前面也说了,每个页面都表示一个Activity,那么我么可以通过Activity的方式来进入 获取Activity的方法 通过adb方式获取Activity # 通过adb方式获取Activity # 方法一: adb shell dumpsys activity top | findstr ACTIVITY # 方法二: adb shell dumpsys activity | findstr " mFocusedActivity " # 方法三: adb shell dumpsys

appium---Activity

∥☆過路亽.° 提交于 2020-04-13 15:01:26
【今日推荐】:为什么一到面试就懵逼!>>>   在做自动化的过程中,我们都会发现每次都要从头开始点,一直要点到最后,如果中间出现错误,就需要重现去点,这样很麻烦也很费时间,今天我们来认识一种非常简单的方法,想要测试那个页面,我们就直接跳转到哪个页面进行测试。 Activity Activity是Android系统中的四大组件之一,可以用于显示View。几乎所有的Activity都是对于用户进行交互的,如果还不懂的话,页面,我们所看到的app中的页面就属于一个Activity。其中Android四大组件有Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器。 言归正传,我们继续说我们的想要每次都启动到我们想要的页面,既然前面也说了,每个页面都表示一个Activity,那么我么可以通过Activity的方式来进入 获取Activity的方法 通过adb方式获取Activity # 通过adb方式获取Activity # 方法一: adb shell dumpsys activity top | findstr ACTIVITY # 方法二: adb shell dumpsys activity | findstr " mFocusedActivity " # 方法三: adb shell dumpsys

How to get Device name and App Version using Appium Driver

一世执手 提交于 2020-04-10 03:21:41
问题 I am able to get the device android version using driver.getCapabilities().getCapability("platformVersion"); Simillarly how I will get device name and version of app. I tried with following but no use driver.getCapabilities().getCapability("deviceName"); driver.getCapabilities().getCapability("appVersion"); 回答1: Using Adb To get Device Name adb.exe -s " +deviceID+ " shell getprop ro.product.model To get Device OS Version adb.exe -s " +deviceID+ " shell getprop ro.build.version.release To get

How to get Device name and App Version using Appium Driver

时间秒杀一切 提交于 2020-04-10 03:21:27
问题 I am able to get the device android version using driver.getCapabilities().getCapability("platformVersion"); Simillarly how I will get device name and version of app. I tried with following but no use driver.getCapabilities().getCapability("deviceName"); driver.getCapabilities().getCapability("appVersion"); 回答1: Using Adb To get Device Name adb.exe -s " +deviceID+ " shell getprop ro.product.model To get Device OS Version adb.exe -s " +deviceID+ " shell getprop ro.build.version.release To get