51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【109期】:python爬虫的魔力 !双11剁手不吃土,来投稿赚回血红包! 【专题】用尽一切办法只为让你学好用例 自学软件测试那点事
123
返回列表 发新帖
楼主: lsekfe

【你来问我来答第101期】:自动化测试可以这样学?(活动结束)

[复制链接]

该用户从未签到

发表于 2019-4-22 13:12:28 | 显示全部楼层
请教appium如何控制点击APP的日历控件。最近刚开始使用appium,碰到个坑,向各位请教
如何选中一个日历控件中的日期呢?
比如携程APP  
  1. 'appPackage': 'ctrip.android.view',# apk的包名
  2.     'appActivity': 'ctrip.business.splash.CtripSplashActivity',# activity 名称
复制代码
日历日期这部分在APPIUM中定位,就只是每一行一个
  1. <android.view.View>
复制代码
我要选中指定的日期,请问这个应该怎么定位呢?

回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2019-4-22 13:17:30 | 显示全部楼层
selenium webdriver能启动Firefox,但是卡住不动了,求教?
  1. from selenium import webdriver

  2. driver=webdriver.Firefox()
  3. driver.get("https://www.baidu.com")

  4. driver.find_element_by_id("kw").send_keys("selenium2")
  5. dirver.find_element_by_id("su").click()

  6. #dirver.quit()
复制代码
运行结果见图,直接卡住了.请老师帮我看下,谢谢!

回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2019-4-22 13:20:24 | 显示全部楼层
老师你好,大请教个问题。。。我现在的需求是。。判断元素是否在手机上显示,若不显示,则上滑,继续查找。appium上手机定位到元素,我使用is_displayed判断是否在界面上显示。。为什么明明没有显示的元素,也会返回True。。。。谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2019-4-22 13:22:39 | 显示全部楼层
老师您好,如果用webdriver来做回归测试,使用python,应该怎么样来设计测试框架?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2019-4-24 09:00:19 | 显示全部楼层
胖虎 发表于 2019-4-22 13:17
selenium webdriver能启动Firefox,但是卡住不动了,求教?运行结果见图,直接卡住了.请老师帮我看下,谢谢 ...

截图看不到呢,一般都是驱动路径、驱动与浏览器版本不匹配。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2019-4-24 09:01:46 | 显示全部楼层
梦幻小丑灯 发表于 2019-4-22 13:22
老师您好,如果用webdriver来做回归测试,使用python,应该怎么样来设计测试框架?

用PO吧,便于后期对脚本维护,结合测试报告、单元测试测试 Jenkins来设计
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2018-6-18 17:17
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    发表于 2019-4-28 12:03:28 | 显示全部楼层
    请教老师,app自动化和web自动化要注重的点有哪些区别?接触过两者,APP的自动化看起来更加繁琐,不好操作。

    对于移动端自动化,怎样识别其中的坑,并加以避免。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 307 天

    连续签到: 1 天

    [LV.8]测试军长

    发表于 2019-4-28 16:48:12 | 显示全部楼层
    克里斯特钠博联 发表于 2019-4-4 13:25
    老师有语言推荐吗??现在正在啃书,这个Python真的看不懂啊看不懂

    主流使用的开发自动化测试语句一般都是Java和Python,Python看不懂java估计也差不多,还是需要静下心去好好学好编程基础,看不懂更别提开发测试框架了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-3-8 09:22
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2019-5-5 19:57:33 | 显示全部楼层
    你好,有个问题请教一下。
    我在执行python+appium+unittest时,老是无法响应。

    appium客户端控制台报错信息:
    > info: Starting App
    > info: [debug] Attempting to kill all 'uiautomator' processes
    > info: [debug] Getting all processes with 'uiautomator'
    > error: Unhandled error: TypeError: undefined is not a function
    >     at [object Object].ADB.getPIDsByName (D:\Appium\loadspace\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:1037:8)
    >     at [object Object].ADB.killProcessesByName (D:\Appium\loadspace\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:1079:8)
    >     at [object Object].UiAutomator.start (D:\Appium\loadspace\Appium\node_modules\appium\lib\devices\android\uiautomator.js:29:12)
    >     at [object Object].<anonymous> (D:\Appium\loadspace\Appium\node_modules\appium\lib\devices\android\android.js:115:37)
    >     at D:\Appium\loadspace\Appium\node_modules\appium\node_modules\async\lib\async.js:607:21
    >     at D:\Appium\loadspace\Appium\node_modules\appium\node_modules\async\lib\async.js:246:17
    >     at iterate (D:\Appium\loadspace\Appium\node_modules\appium\node_modules\async\lib\async.js:146:13)
    >     at D:\Appium\loadspace\Appium\node_modules\appium\node_modules\async\lib\async.js:157:25
    >     at D:\Appium\loadspace\Appium\node_modules\appium\node_modules\async\lib\async.js:248:21
    >     at D:\Appium\loadspace\Appium\node_modules\appium\node_modules\async\lib\async.js:612:34
    >     at [object Object].<anonymous> (D:\Appium\loadspace\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:180:9)
    >     at ChildProcess.exithandler (child_process.js:742:7)
    >     at ChildProcess.emit (events.js:110:17)
    >     at maybeClose (child_process.js:1016:16)
    >     at Process.ChildProcess._handle.onexit (child_process.js:1088:5) context: [POST /wd/hub/session {"capabilities":{"firstMatch":[{}],"alwaysMatch":{"platformName":"Android","appium:platformVersion":"6.0","appium:deviceName":"H6ZPKR45DAB64DJB","appium:appPackage":"com.njzx.shbsetting","appium:appAc]


    代码如下:测试用例AddTel.py中:

    #   实现需求:打开守护设置----SOS设置,com.njzx.shbsetting/com.njzx.shbsetting.activity.ShbSettingActivity,输入号码添加紧急号码保存
    # !/usr/bin/python
    # encoding:utf-8
    import unittest,time,random
    from appium import webdriver

    class test_add(unittest.TestCase):
        #   环境准备
        def setUp(self):
            desired_caps = {}
            desired_caps["platformName"] = 'Android'
           desired_caps["platformVersion"] = '6.0'
           desired_caps['deviceName'] = 'H6ZPKR45DAB64DJB'
            desired_caps["appPackage"] =  "com.njzx.shbsetting"
           desired_caps["appActivity"] =  ".activity.ShbSettingActivity"
            desired_caps["unicodeKeyboard"] =  "True"
            desired_caps["resetKeyboard"] = "True"  
            desired_caps["newCommandTimeout"] =  "40"
            self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
        #   环境还原
        def tearDown(self):
            self.driver.quit()
        #   业务流程
        def test_openAndAdd(self):
            sos_setting = self.driver.find_element_by_id("com.njzx.shbsetting:id/layout_sos")
            sos_setting.click()
            add_from_input = self.driver.find_element_by_id("zte.shb.sossetting:id/add_from_input")
            add_from_input.click()
            self.driver.find_element_by_id("zte.shb.sossetting:id/et_num").click()
            list_tel = [12213243213, 5678909876, 24542531241445, 2452452525565,24554654767, 245425425, 4545667657, 24254525]
            #   随机 5次从list_tel选取一个并输入
            for i in range(0,5):
                select_tel = random.choice(list_tel)
                list_tel.remove(select_tel)
                print(list_tel)
                self.driver.find_element_by_id("zte.shb.sossetting:id/et_num").send_keys(select_tel)
                self.driver.find_element_by_id("zte.shb.sossetting:id/btn_add").click()
                time.sleep(2)
            path = "E:\\pycharm\\run\\Appium\\addSOS\\"
           now_time = time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime(time.time()))
           screen_picture = path + now_time + ".jpg"
            self.driver.get_screenshot_as_file(screen_picture)

    执行用例用例集中test_suit.py
    # !/usr/bin/python
    # encoding:utf-8
    import unittest,time
    import AddTel
    from HTMLTestRunner import HTMLTestRunner

    if __name__ == '__main__':
        suite = unittest.TestSuite()  # unittest模块中的TestSuite()创建一个对象接收testcase
        suite.addTests(unittest.TestLoader().loadTestsFromNames(['AddTel.test_add']))
        now_time = time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime(time.time()))
        name = now_time + "htmlreport.html"
       file_path = "E:\\pycharm\\run\\Appium\\addSOS\\htmlTestreport\\" + name
        with open(file_path, 'wb') as f:#  模式wb
            runner = HTMLTestRunner(stream=f,title=' Test Report',description='generated by HTMLTestRunner----Bling',verbosity=2)
            runner.run(suite)


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-5-10 09:12:36 | 显示全部楼层
    自动化测试的自学之路如何开展
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-5-10 09:13:46 | 显示全部楼层
    学Python还是学Java?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-9-25 10:58:07 | 显示全部楼层
    一针 发表于 2019-4-14 20:09
    框架可以先从封装常用的功能开始,先实现功能,再逐步改良优化,增强框架通用性

    可以看笔者新书<Selenium3 +Python3 自动化测试项目实战>,从基础写起,框架写得很详细
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-9-25 10:59:01 | 显示全部楼层
    黄峰KA 发表于 2019-4-8 11:19
    我在一家小公司搞测试,测试目前就我一个,而且干的都是无创造性的活,我现在该继续呆在这家公司吗?公司小 ...

    可以看笔者新书<Selenium3 +Python3 自动化测试项目实战>,从基础写起,框架写得很详细
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-9-25 10:59:42 | 显示全部楼层
    巴斯蒂安 发表于 2019-4-3 11:46
    哇我最近正好比较想往自动化测试这边发展诶,求推荐这方面比较好的书或者网站都可以啊!!

    可以看笔者新书<Selenium3 +Python3 自动化测试项目实战>,从基础写起,框架写得很详细
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2019-12-16 22:04 , Processed in 0.078947 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2019 Comsenz Inc.

    快速回复 返回顶部 返回列表