def setUp(self):
     warnings.simplefilter("ignore", ResourceWarning)  # 屏蔽ResourceWarning报警
     self.ina = Open_app(self)
     self.ina.open()
     self.driver = self.ina.get_driver()
     self.verificationErrors = []  # 错误信息打印到这个列表
     self.accept_next_alert = True  # 是否继续接受下个警告
Esempio n. 2
0
class Test007(unittest.TestCase, a07_scene.Scene):  # TestCase类,所有测试用例类继承的基本类
    """场景测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、首页-全部场景,无场景,页面提示:无场景
    def test_no_scene(self):
        self.assertTrue(self.no_scene())

    # 2、首页-全部场景,创建场景,默认离家名称,场景编辑页面点击保存
    def test_create_scene_save(self):
        self.assertTrue(self.create_scene_save())

    # 3、首页-全部场景,创建场景,默认离家名称,场景编辑页面返回
    def test_create_scene_back(self):
        self.assertTrue(self.create_scene_back())

    # 4、首页-全部场景,创建场景,默认离家名称,左上取消按钮
    def test_create_scene_cancel(self):
        self.assertFalse(self.create_scene_cancel())

    # 5、首页-全部场景,创建场景自定义名称呵呵123
    def test_hehe123_scene(self):
        self.assertTrue(self.hehe123_scene())

    # 6、首页-全部场景,创建场景,不输入名称,确定点击无效,还在场景名称与图标页面
    def test_no_name_scene(self):
        self.assertTrue(self.no_name_scene())

    # 7、首页-全部场景,创建场景,创建相同名称的场景,toast提示:该场景名称已存在,请换一个
    def test_same_name_scene(self):
        self.assertTrue(self.same_name_scene())

    # 8、首页-全部场景,长按场景,取消,编辑框消失
    def test_longpress_cancel(self):
        self.assertFalse(self.longpress_cancel())

    # 9、首页-全部场景,长按场景,删除-取消
    def test_longpress_delete_cancel(self):
        self.assertTrue(self.longpress_delete_cancel())

    # 10、首页-全部场景,长按场景,删除-确定
    def test_longpress_delete(self):
        self.assertFalse(self.longpress_delete())

    # 11、首页-全部场景,长按场景,编辑场景
    def test_longpress_edit(self):
        self.assertTrue(self.longpress_edit())
Esempio n. 3
0
class Test001(unittest.TestCase, a01_login.Login):  # TestCase类,所有测试用例类继承的基本类
    """登陆测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、登陆成功
    def test_login_success(self):
        self.assertTrue(self.login_success())

    # 2、账号为空
    def test_none_user(self):
        self.assertFalse(self.none_user())

    # 3、密码为空
    def test_none_password(self):
        self.assertFalse(self.none_password())

    # 4、错误的账号(toast:账号或密码不正确)
    def test_wrong_user(self):
        self.assertTrue(self.wrong_user())

    # 5、错误的密码(toast:用户密码错误)
    def test_wrong_password(self):
        self.assertTrue(self.wrong_password())

    # 6、连续3次密码错误,取消弹窗
    def test_wrong_password_3(self):
        self.assertFalse(self.wrong_password_3())

    # 7、连续3次密码错误,找回密码
    def test_wrong_password_3_findp(self):
        self.assertTrue(self.wrong_password_3_findp())
Esempio n. 4
0
 def setUp(self):
     self.ina = Open_app(self)
     self.ina.open()
     self.driver = self.ina.get_driver()
     self.verificationErrors = []  # 错误信息打印到这个列表
     self.accept_next_alert = True  # 是否继续接受下个警告
Esempio n. 5
0
class Test010(unittest.TestCase,
              a10_magnetic.Magnetic):  # TestCase类,所有测试用例类继承的基本类
    """门窗磁探测器"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 设备列表,点击门窗磁探测器,进入详情页
    def test_magnetic_page(self):
        self.assertTrue(self.magnetic_page())

    # 设备详情页,点击左上返回按钮,返回设备列表
    def test_magnetic_page_back(self):
        self.assertTrue(self.magnetic_page_back())

    # 设备详情页-设防中,点击撤防按钮,变成已撤防
    def test_fortification_click(self):
        self.assertTrue(self.fortification_click())

    # 设备详情页-设防中,可以查找到正常(门窗磁闭合状态)
    def test_fortification_normal(self):
        self.assertTrue(self.fortification_normal())

    # 设备详情页-已撤防,点击设防按钮,变成设防中
    def test_withdrawn_click(self):
        self.assertTrue(self.withdrawn_click())

    # 设备详情页-已撤防,查不到正常(门窗磁闭合状态)
    def test_withdrawn_normal(self):
        self.assertFalse(self.withdrawn_normal())

    # 设备详情页,点击更多按钮,进入更多页面,查找删除设备按钮元素
    def test_more_page(self):
        self.assertTrue(self.more_page())

    # 更多页面,点击左上返回按钮,返回设备详情页
    def test_more_page_back(self):
        self.assertTrue(self.more_page_back())

    # 更多页面,点击重命名,重命名弹窗
    def test_rename(self):
        self.assertTrue(self.rename())

    # 更多页面-重命名弹窗,输入新名称呵呵123,点击取消按钮,弹窗消失,名称未修改
    def test_rename_cancel(self):
        self.assertFalse(self.rename_cancel())

    # 更多页面-重命名弹窗,输入新名称呵呵123,点击确定按钮,弹窗消失,名称修改为呵呵123,toast:修改设备名称成功
    def test_rename_sure(self):
        self.assertTrue(self.rename_sure())
        time.sleep(1)
        self.find_id(excel.id_con('item_device_more_rename')).click()  # 点击重命名
        time.sleep(1)
        self.find_id(excel.id_con('et_user_info')).send_keys(u'门窗磁探测器')  # 输入原名
        self.find_id(excel.id_con('dialog_btn_positive')).click()  # 点击确定按钮

    # 更多页面-重命名弹窗,不输入名称,点击确定无效,查找:请输入设备名
    def test_rename_none(self):
        self.assertTrue(self.rename_none())

    # 重命名设备名称,再次设置设备名称为呵呵123,toast提示:设备名称重复!
    def test_rename_repeat(self):
        self.assertTrue(self.rename_repeat())

    # 更多页面,点击分区,进入分区页面
    def test_zone_page(self):
        self.assertTrue(self.zone_page())

    # 更多页面-分区页面,点击左上返回按钮,返回更多页面
    def test_zone_page_back(self):
        self.assertTrue(self.zone_page_back())

    # 更多页面-分区页面,前置条件至少有一个分区,点击分区,返回更多页面,toast:修改设备区域成功
    def test_change_zone(self):
        self.assertTrue(self.change_zone())

    # 更多页面-分区页面,点击未分区,返回更多页面,未分区可以查找到
    def test_zone_page_non(self):
        self.assertTrue(self.zone_page_non())

    # 更多页面-分区页面,点击右上管理分区,进入分区管理页面
    def test_zone_manage_page(self):
        self.assertTrue(self.zone_manage_page())

    # 更多页面-分区页面-管理分区页面,点击返回按钮,返回分区页面
    def test_zone_manage_page_back(self):
        self.assertTrue(self.zone_manage_page_back())

    # 更多页面,点击设备信息,进入设备信息页面
    def test_device_information(self):
        self.assertTrue(self.device_information())

    # 更多页面-设备信息页面,点击左上返回按钮,返回更多页面
    def test_device_information_back(self):
        self.assertTrue(self.device_information_back())

    # 更多页面,点击找设备,弹出设备指示灯将闪烁10秒弹窗
    def test_finddevice(self):
        self.assertTrue(self.finddevice())

    # 更多页面-设备指示灯将闪烁10秒弹窗,点击已找到,弹窗消失
    def test_finddevice_found(self):
        self.assertFalse(self.finddevice_found())

    # 更多页面-设备指示灯将闪烁10秒弹窗,点击再闪烁一次,弹窗还在
    def test_finddevice_again(self):
        self.assertTrue(self.finddevice_again())

    # 更多页面,点击报警消息,进入报警消息页面
    def test_alarm_message_page(self):
        self.assertTrue(self.alarm_message_page())

    # 更多页面-报警消息页面,点击左上返回按钮,返回更多页面
    def test_alarm_message_page_back(self):
        self.assertTrue(self.alarm_message_page_back())

    # 更多页面-报警消息页面,点击按日期查找,弹出日期编辑
    def test_alarm_by_date(self):
        self.assertTrue(self.alarm_by_date())

    # 更多页面-报警消息页面,点击按日期查找,弹出日期编辑,再次点击,编辑框隐藏
    def test_alarm_by_date_hide(self):
        self.assertFalse(self.alarm_by_date_hide())

    # 更多页面-报警消息页面,点击右上清空记录,弹出清空记录弹窗
    def test_alarm_empty(self):
        self.assertTrue(self.alarm_empty())

    # 更多页面-报警消息页面,点击右上清空记录,弹出清空记录弹窗,点击取消按钮,弹窗消失
    def test_alarm_empty_cancel(self):
        self.assertFalse(self.alarm_empty_cancel())

    # 更多页面-报警消息页面,点击右上清空记录,弹出清空记录弹窗,点击确定按钮,弹窗消失,消息记录清空,自动返回更多页面
    def test_alarm_empty_sure(self):
        self.assertTrue(self.alarm_empty_sure())

    # 更多页面-报警消息页面-清空记录,再次进入报警记录页面,提示:没有报警消息
    def test_alarm_empty_sure_again(self):
        self.assertTrue(self.alarm_empty_sure_again())

    # 更多页面,点击日志,进入日志页面
    def test_log_page(self):
        self.assertTrue(self.log_page())

    # 更多页面-日志页面,点击左上返回按钮,返回更多页面
    def test_log_page_back(self):
        self.assertTrue(self.log_page_back())

    # 更多页面-日志页面,点击按日期查找,弹出日期编辑
    def test_log_by_date(self):
        self.assertTrue(self.log_by_date())

    # 更多页面-日志页面,点击按日期查找,弹出日期编辑,再次点击,编辑框隐藏
    def test_log_by_date_hide(self):
        self.assertFalse(self.log_by_date_hide())

    # 更多页面-日志页面,点击右上清空记录,弹出清空记录弹窗
    def test_log_empty(self):
        self.assertTrue(self.log_empty())

    # 更多页面-日志页面,点击右上清空记录,弹出清空记录弹窗,点击取消按钮,弹窗消失
    def test_log_empty_cancel(self):
        self.assertFalse(self.log_empty_cancel())

    # 更多页面-日志页面,点击右上清空记录,弹出清空记录弹窗,点击取消按钮,弹窗消失,消息记录清空,自动返回更多页面
    def test_log_empty_sure(self):
        self.assertTrue(self.log_empty_sure())

    # 更多页面-日志页面-清空记录,再次进入日志页面,提示:没有日志消息
    def test_log_empty_sure_again(self):
        self.assertTrue(self.log_empty_sure_again())

    # 更多页面-日志页面-清空记录,返回详情页点击设防/撤防两次,再次进入日志消息,查找:已设防
    def test_log_fortification(self):
        self.assertTrue(self.log_fortification())

    # 更多页面-日志页面-清空记录,返回详情页点击设防/撤防两次,再次进入日志消息,查找:已撤防
    def test_log_withdrawn(self):
        self.assertTrue(self.log_withdrawn())

    # 更多页面,点击删除设备按钮,弹出确定弹窗
    def test_delete_device(self):
        self.assertTrue(self.delete_device())

    # 更多页面,点击删除设备按钮,弹出确定弹窗,点击取消按钮,弹窗消息(确定按钮测试不做)
    def test_delete_device_cancel(self):
        self.assertFalse(self.delete_device_cancel())
class Test006(unittest.TestCase, a06_zoning_management.Zoning_management
              ):  # TestCase类,所有测试用例类继承的基本类
    """分区管理测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        warnings.simplefilter("ignore", ResourceWarning)  # 屏蔽ResourceWarning报警
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、设备-管理分区,创建分区呵呵,确定
    def test_new_zoning(self):
        self.assertTrue(self.new_zoning())

    # 2、设备-管理分区,创建分区哈哈,取消
    def test_new_zoning_cancel(self):
        self.assertFalse(self.new_zoning_cancel())

    # 3、设备-管理分区,不输入分区名,确定按钮不可点击
    def test_new_zoning_no_name(self):
        self.assertTrue(self.new_zoning_no_name())

    # 4、设备-管理分区,点击编辑按钮,取消,编辑框消失
    def test_edit_cancel(self):
        self.assertFalse(self.edit_cancel())

    # 5、设备-管理分区,点击编辑按钮,删除,确定
    def test_edit_delete(self):
        self.assertFalse(self.edit_delete())

    # 6、设备-管理分区,点击编辑按钮,删除,取消
    def test_edit_delete_cancel(self):
        self.assertTrue(self.edit_delete_cancel())

    # 7、设备-管理分区,点击编辑按钮,修改分区名称,输入分区名哈哈,确定
    def test_modefy_the_name(self):
        self.assertTrue(self.modify_the_name())

    # 8、设备-管理分区,点击编辑按钮,修改分区名称,输入分区名哈哈,取消
    def test_modefy_the_name_cancel(self):
        self.assertFalse(self.modify_the_name_cancel())

    # 9、设备-管理分区,点击编辑按钮,修改分区名称,输入名称为空,确定按钮点击无效,弹窗修改分区还在
    def test_modefy_no_name(self):
        self.assertTrue(self.modify_no_name())

    # 10、设备-管理分区,创建一个分区,添加一个设备
    def test_zone_add(self):
        self.assertTrue(self.zone_add())

    # 11、设备-管理分区,创建一个分区,添加一个设备,再删除一个设备
    def test_zone_reduce(self):
        self.assertTrue(self.zone_reduce())

    # 12、设备-管理分区,创建一个分区,点击设备-全部分区可以找到
    def test_new_zoning_devide(self):
        self.assertTrue(self.new_zoning_devide())

    # 13、设备-管理分区,创建一个分区,删除分区,点击设备-全部分区找不到
    def test_new_zoning_delete_devide(self):
        self.assertFalse(self.new_zoing_delete_devide())

    # 14、设备-管理分区,没有分区
    def test_no_zone(self):
        self.assertTrue(self.no_zone())

    # 15、设备-管理分区,点击顺序跳转按钮
    def test_order_adjustment(self):
        self.assertTrue(self.order_adjustment())
Esempio n. 7
0
class Test004(unittest.TestCase,
              a04_account_login.Account_login):  # TestCase类,所有测试用例类继承的基本类
    """账号登陆+物联会员+意见反馈+关于+个人信息+网关中心测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、账号登陆,未绑定网关-首页
    def test_home_page(self):
        self.assertTrue(self.home_page(), '账号登陆首页失败')

    # 2、账号登陆,未绑定网关-查看小铃铛报警消息
    def test_alarm_message(self):
        self.assertTrue(self.alarm_message())

    # 3、账号登陆,未绑定网关-查看小铃铛日志消息
    def test_log_message(self):
        self.assertTrue(self.log_message())

    # 4、账号登陆,未绑定网关-点击场景,弹出尚未绑定网关编辑框
    def test_click_the_scene(self):
        self.assertTrue(self.click_the_scene())

    # 5、账号登陆,未绑定网关-尚未登录绑定网关编辑框,点击取消按钮,编辑框消失
    def test_unlogged_gateway_editbox_cancel(self):
        self.assertFalse(self.unlogged_gateway_editbox_cancel())

    # 6、账号登陆,未绑定网关-点击场景,点击去绑定,进入网关列表页面
    def test_clicK_the_scene_binding(self):
        self.assertTrue(self.click_the_scene_binding())

    # 7、账号登陆,未绑定网关-点击场景,点击体验网关试用按钮,toast提示:体验网关会在10分钟后自动解绑
    def test_click_trial_gateway(self):
        self.assertTrue(self.click_trial_gateway())

    # 8、账号登陆,未绑定网关-点击设备,暂无设备
    def test_click_the_devide(self):
        self.assertTrue(self.click_the_device())

    # 9、账号登陆,未绑定网关-点击发现,Wulian商场
    def test_click_the_find(self):
        self.assertTrue(self.clicK_the_find())

    # 10、账号登陆,未绑定网关-绑定网关流程
    def test_bound_gateway(self):
        self.assertNotEqual(self.bound_gateway(), '未登录网关', '网关绑定失败')

    # 11、账号登陆,未绑定网关-绑定网关流程,不输入账号
    def test_bound_gateway_no_id(self):
        self.assertFalse(self.bound_gateway_no_id())

    # 12、账号登陆,未绑定网关-绑定网关流程,不输入密码
    def test_bound_gateway_no_password(self):
        self.assertFalse(self.bound_gateway_no_password())

    # 13、账号登陆,未绑定网关-绑定网关流程,输入密码少于6位
    def test_bound_gateway_password5(self):
        self.assertFalse(self.bound_gateway_password5())

    # 14、账号登陆,未绑定网关-绑定网关流程,输入错误密码
    def test_bound_gateway_wrong_password(self):
        self.assertTrue(self.bound_gateway_wrong_password())

    # 15、我的页面,进入物联会员
    def test_wulian_member(self):
        self.assertTrue(self.wulian_member())

    # 16、我的页面,物联会员,进入积分变动记录页面
    def test_integral_change(self):
        self.assertTrue(self.integral_change())

    # 17、我的页面,物联会员,签到规则
    def test_sign_in_rules(self):
        self.assertTrue(self.sign_in_rules())

    # 18、我的页面,物联会员,会员说明
    def test_member_description(self):
        self.assertTrue(self.member_description())

    # 19、我的页面,物联会员,积分说明
    def test_integral_explanation(self):
        self.assertTrue(self.integral_explanantion())

    # 20、我的页面,进入意见反馈页面
    def test_feed_back(self):
        self.assertTrue(self.feed_back())

    # 21、意见反馈,不输入内容,提交按钮不可点击
    def test_feed_back_submit(self):
        self.assertFalse(self.feed_back_submit())

    # 22、意见反馈,提交意见
    def test_feed_back_edit(self):
        self.assertTrue(self.feed_back_edit())

    # 23、关于-功能介绍
    def test_about_introduction(self):
        self.assertTrue(self.about_introduction())

    # 24、关于-关于物联
    def test_about_wulian(self):
        self.assertTrue(self.about_wulian())

    # 25、个人信息-点击头像
    def test_head_portrait(self):
        self.assertTrue(self.head_portrait())

    # 26、个人信息-点击头像,点击取消,编辑框消失
    def test_head_portrait_cancel(self):
        self.assertFalse(self.head_portrait_cancel())

    # 27、个人信息-修改名称
    def test_modify_the_name(self):
        self.assertTrue(self.modify_the_name())
        # 改回名称
        time.sleep(1)
        self.find_id(excel.id_con('setting_manager_item_name')).click()  # 点击名称
        time.sleep(1)
        self.find_id(excel.id_con('et_user_info')).send_keys(
            u'Duke正式服')  # 输入新名称
        self.find_id(excel.id_con('dialog_btn_positive')).click()  # 点击确定按钮

    # 28、个人信息-修改名称,取消
    def test_modify_the_name_cancel(self):
        self.assertFalse(self.modify_the_name_cancel())

    # 29、个人信息-修改名称,不输入点击确定,点击无效,修改名称弹窗还在
    def test_modify_the_name_determine(self):
        self.assertTrue(self.modify_the_name_determine())

    # 30、网关中心-已绑定网关
    def test_bound_gateway_list(self):
        self.assertTrue(self.bound_gateway_list())

    # 31、网关中心-已接受分享
    def test_acceptance_of_sharing(self):
        self.assertTrue(self.acceptance_of_sharing())

    # 32、网关设置-修改网关昵称
    def test_gateway_name(self):
        self.assertTrue(self.gateway_name())
        # 改回昵称
        self.find_id(
            excel.id_con('item_gateway_center_setting')).click()  # 点击网关设置
        time.sleep(1)
        self.find_id(
            excel.id_con('item_gateway_setting_name')).click()  # 点击网关昵称
        time.sleep(1)
        self.find_id(excel.id_con('et_user_info')).send_keys(u'呵呵')  # 输入网关新昵称
        time.sleep(2)
        self.find_id(excel.id_con('dialog_btn_positive')).click()

    # 33、网关设置-修改网关昵称,取消
    def test_gateway_name_cancel(self):
        self.assertFalse(self.gateway_name_cancel())

    # 34、网关设置-修改网关昵称,不输入点击确定
    def test_gateway_no_name(self):
        self.assertTrue(self.gateway_no_name())

    # 35、网关设置-修改密码
    def test_change_password(self):
        self.assertTrue(self.change_password())
        # 改回密码
        self.find_id(excel.id_con('item_gateway_center')).click()  # 点击网关中心
        time.sleep(2)
        self.modify_gateway_password('wl123456789', 'qazwsx1234')

    # 36、网关设置-修改密码-未填写原始密码
    def test_change_no_old_password(self):
        self.assertFalse(self.change_no_old_password())

    # 37、网关设置-修改密码-未填写新密码
    def test_change_no_new_password(self):
        self.assertFalse(self.change_no_new_password())

    # 38、网关设置-修改密码-错错的原始密码,toast提示:修改失败
    def test_change_wrong_old_password(self):
        self.assertTrue(self.change_wrong_old_password())

    # 39、网关设置-修改密码-新密码全数字,toast提示:密码至少有数字、字母或符号的2种组合
    def test_change_number_password(self):
        self.assertTrue(self.change_number_password())

    # 40、网关设置-修改密码-新密码全字母,toast提示:密码至少有数字、字母或符号的2种组合
    def test_change_letter_password(self):
        self.assertTrue(self.change_letter_password())

    # 41、网关设置-修改密码-新密码小于6位,toast提示:密码长度不能小于6个字符
    def test_change_password_6(self):
        self.assertTrue(self.change_password_6())

    # 42、网关设置-修改密码-新密码与原始密码相同,toast提示:新密码不能和老密码相同
    def test_change_same_password(self):
        self.assertTrue(self.change_same_password())
Esempio n. 8
0
class Test001(unittest.TestCase, AI01_login.Login):  # TestCase类,所有测试用例类继承的基本类
    """登陆测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、账号已有住宅情况,登录成功
    def test_login_success(self):
        self.assertTrue(self.login_success())

    # 2、账号没有住宅情况,登陆成功
    def test_login_success_no_house(self):
        self.assertTrue(self.login_success_no_house())

    # 3、注册页面
    def test_register(self):
        self.assertTrue(self.register())

    # 4、使用条款与免责协议页面
    def test_agreement_page(self):
        self.assertTrue(self.agreement_page())

    # 5、注册页面,获取验证码按钮置灰不可点击
    def test_register_no_phone(self):
        self.assertFalse(self.register_no_phone())

    # 6、注册页面,输入手机号少一位,获取验证码按钮置灰不可点击
    def test_register_phone_10(self):
        self.assertFalse(self.register_phone_10())

    # 7、注册页面,输入手机号,获取验证码按钮可以点击
    def test_register_right_phone(self):
        self.assertTrue(self.register_right_phone())

    # 8、注册页面,输入已注册手机号,点击获取验证码按钮,弹窗手机号已被注册
    def test_register_phone_used(self):
        self.assertTrue(self.register_phone_used())

    # 9、注册页面手机号已被注册弹窗,点击取消按钮,弹窗消失
    def test_register_popup_cancel(self):
        self.assertFalse(self.register_popup_cancel())

    # 10、注册页面手机号已被注册弹窗,点击去登录按钮,进入登录页面
    def test_register_land(self):
        self.assertTrue(self.register_land())

    # 11、注册页面,输入未注册手机号,点击获取验证码按钮,进入输入验证码页面
    def test_register_code_page(self):
        self.assertTrue(self.register_code_page())

    # 12、注册-输入验证码页面,输入错误验证码,提示验证码错误
    def test_code_page_wrongcode(self):
        self.assertTrue(self.code_page_wrongcode())

    # 13、登录页面
    def test_sign_in(self):
        self.assertTrue(self.sign_in())

    # 14、登录页面,登录按钮置灰
    def test_login_button_gray(self):
        self.assertFalse(self.login_button_gray())

    # 15、登录页面,输入正确账号,不输入密码,登录按钮置灰
    def test_login_no_password(self):
        self.assertFalse(self.login_no_password())

    # 16、登录页面,不输入账号,输入正确格式密码,登录按钮置灰
    def test_login_no_account(self):
        self.assertFalse(self.login_no_account())

    # 17、登录页面,输入手机号账号少一位(1801398638),输入正确格式密码,登录按钮置灰
    def test_login_one_less_cell_phone_number(self):
        self.assertFalse(self.login_one_less_cell_phone_number())

    # 18、登录页面,输入手机号账号多一位(180139863821),输入正确格式密码,登录按钮置灰
    def test_login_one_more_cell_phone_number(self):
        self.assertFalse(self.login_one_more_cell_phone_number())

    # 19、登录页面,输入邮箱账号没有@(qwerty126.com),输入正确格式密码,登录按钮置灰
    def test_login_wrong_mailbox_account_1(self):
        self.assertFalse(self.login_wrong_mailbox_account_1())

    # 20、登录页面,输入邮箱账号没有‘.’(1234567@126com),输入正确格式密码,登录按钮置灰
    def test_login_wrong_mailbox_account_2(self):
        self.assertFalse(self.login_wrong_mailbox_account_2())

    # 21、登录页面,输入正确的账号,输入全数字密码(123456789),登录按钮置灰
    def test_login_wrong_password_all_digital(self):
        self.assertFalse(self.login_wrong_password_all_digital())

    # 22、登录页面,输入正确的账号,输入全字母密码(qwertyuiop),登录按钮置灰
    def test_login_wrong_password_all_letter(self):
        self.assertFalse(self.login_wrong_password_all_letter())

    # 23、登录页面,输入正确的账号,输入全符号密码(!@#¥%……&*()),登录按钮置灰
    def test_login_wrong_password_all_character(self):
        self.assertFalse(self.login_wrong_password_all_character())

    # 24、登录页面,输入正确的账号,输入少于8位密码(@q12345),登录按钮置灰
    def test_login_wrong_password_less_8(self):
        self.assertFalse(self.login_wrong_password_less_8())

    # 25、登录页面,输入正确的账号,输入正确密码,登录按钮激活
    def test_login_right_account_password(self):
        self.assertTrue(self.login_right_account_password())

    # 26、登录页面,输入未注册账号(18013980000),输入正确密码,点击登录,提示:用户不存在
    def test_user_does_not_exist(self):
        self.assertTrue(self.user_does_not_exist())

    # 27、登录页面,输入正确的账号(18013986382),输入错误密码,点击登录,提示,密码错误
    def test_wrong_password(self):
        self.assertTrue(self.wrong_password())

    # 28、登录页面,输入正确的账号(17751027576),输入错误密码,连续点击登录3次,弹出找回密码弹窗
    def test_wrong_password_3(self):
        self.assertTrue(self.wrong_password_3())

    # 29、登录页面,找回密码弹窗([email protected]),点击取消按钮,弹窗消失
    def test_find_password_popup(self):
        self.assertFalse(self.find_password_popup())

    # 30、登录页面,找回密码弹窗([email protected]),点击找回密码按钮,进入找回密码页面
    def test_find_password_page_2(self):
        self.assertTrue(self.find_password_page_2())

    # 31、登录页面,找回密码弹窗([email protected]),点击取消后再点击2次登录,弹出安全提示弹窗
    def test_safety_tips_popup(self):
        self.assertTrue(self.safety_tips_popup())

    # 32、登录页面,点击验证码登录,进入验证码登录页面
    def test_code_login_page(self):
        self.assertTrue(self.code_login_page())

    # 33、验证码登录页面,获取验证码按钮置灰
    def test_code_login_page_none(self):
        self.assertFalse(self.code_login_page_none())
Esempio n. 9
0
class Test009(unittest.TestCase,
              a09_housekeeper.Housekeeper):  # TestCase类,所有测试用例类继承的基本类
    """管家测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 管家,进入我的管家页面
    def test_housekeeper_page(self):
        self.assertTrue(self.housekeeper_page())

    # 管家-我的管家页面,没有任务情况,提示:还没有创建管家任务,点击右上角“+”创建
    def test_no_housekeeper(self):
        self.assertTrue(self.no_housekeeper())

    # 管家-我的管家页面,点击右上角“+”,弹出创建管家任务编辑框
    def test_add_housekeeper(self):
        self.assertTrue(self.add_housekeeper())

    # 管家-我的管家页面,点击右上角“+”,弹出创建管家任务编辑框,点击右上“x”,编辑框消失
    def test_add_housekeeper_x(self):
        self.assertFalse(self.add_housekeeper_x())

    # 管家-创建管家任务编辑框,点击定时任务,进入定时任务编辑页面,查找:当时间到达-------------------------------------------------
    def test_timing_editpage(self):
        self.assertTrue(self.timing_editpage())

    # 管家-定时任务编辑页面,点击名称,弹出名称弹窗
    def test_timing_name(self):
        self.assertTrue(self.timing_name())

    # 管家-定时任务编辑-名称弹窗,输入名称呵呵123,点击确定,弹窗消失,名称显示为:呵呵123
    def test_timing_name_sure(self):
        self.assertTrue(self.timing_name_sure())

    # 管家-定时任务编辑-名称弹窗,输入名称呵呵123,点击取消,弹窗消失,名称显示未变
    def test_timing_name_cancel(self):
        self.assertFalse(self.timing_name_cancel())

    # 管家-定时任务编辑页面,点击时间,进入定时编辑页面,查找Sun
    def test_timing_time(self):
        self.assertTrue(self.timing_time())

    # 管家-定时编辑页面,点击保存,跳转定时任务编辑页面
    def test_timing_time_save(self):
        self.assertTrue(self.timing_time_save())

    # 管家-定时任务编辑页面,点击执行以下任务,进入添加任务页面
    def test_timetask_page(self):
        self.assertTrue(self.timetask_page())

    # 管家-添加任务页面,点击添加要执行的设备,进入选择设备页面
    def test_timetask_device_page(self):
        self.assertTrue(self.timetask_device_page())

    # 管家-选择设备页面,点击全部分区,下拉所以分区,查找元素全部分区
    def test_timetask_allzone(self):
        self.assertTrue(self.timetask_allzone())

    # 管家-选择设备页面,点击全部类别,下拉所以类别,查找智能门锁
    def test_timetask_allclass(self):
        self.assertTrue(self.timetask_allclass())

    # 管家-选择设备页面,点击批量添加,进入批量添加页面,查找全选
    def test_timetask_alladd(self):
        self.assertTrue(self.timetask_alladd())

    # 管家-添加任务页面,点击添加要执行的场景,进入选择场景页面
    def test_timetask_scene_page(self):
        self.assertTrue(self.timetask_scene_page())

    # 管家-添加任务页面,点击添加要执行的场景,进入选择场景页面,点击完成,toast提示:请选择一个场景
    def test_timetask_scene_finish(self):
        self.assertTrue(self.timetask_scene_finish())

    # 管家-选择设备页面,点击墙面插座,进入设置设备状态页面
    def test_setting_devide_status_page(self):
        self.assertTrue(self.setting_device_status_page())

    # 管家-设置设备状态页面,点击开,进入添加延时任务页面
    def test_delay_task_page(self):
        self.assertTrue(self.delay_task_page())

    # 管家-添加延时任务页面,点击打开添加延时按钮,弹出延时时间编辑框,查找秒
    def test_delay_task_timeopen(self):
        self.assertTrue(self.delay_task_tiemopen())

    # 管家-添加延时任务页面,点击打开添加延时按钮,再次点击按钮,延时时间编辑框隐藏,查找不到秒
    def test_delay_task_timeclose(self):
        self.assertFalse(self.delay_task_timeclose())

    # 管家-添加延时任务页面,点击完成按钮,跳转定时任务编辑页面
    def test_dekay_task_finish(self):
        self.assertTrue(self.delay_task_finish())

    # 管家-添加延时任务页面,左划任务,拉出删除按钮
    def test_task_leftswip(self):
        self.assertTrue(self.task_leftswip())

    # 管家-添加延时任务页面,左划任务,拉出删除按钮,点击删除按钮,任务删除
    def test_task_delete(self):
        self.assertFalse(self.task_delete())

    # 管家-添加延时任务页面,点击完成按钮,跳转定时任务编辑页面,点击左上返回按钮,弹窗是否放弃编辑弹窗
    def test_giveup_edit(self):
        self.assertTrue(self.giveup_edit())

    # 管家-添加延时任务页面,点击完成按钮,跳转定时任务编辑页面,点击左上返回按钮,弹窗是否放弃编辑弹窗,点击取消,弹窗消失
    def test_giveup_edit_cancel(self):
        self.assertFalse(self.giveup_edit_cancel())

    # 管家-添加延时任务页面,点击完成按钮,跳转定时任务编辑页面,点击左上返回按钮,弹窗是否放弃编辑弹窗,点击确定,跳转我的管家页面,任务未保存
    def test_giveup_edit_sure(self):
        self.assertFalse(self.giveup_edit_sure())

    # 管家-添加延时任务页面,点击完成按钮,跳转定时任务编辑页面,点击保存按钮,跳转我的页面,定时任务保存成功,查找呵呵123
    def test_timed_task(self):
        self.assertTrue(self.timed_task())

    # 管家-定时任务编辑页面,点击保存按钮,弹窗提示:执行任务不能为空,请添加
    def test_timed_notask(self):
        self.assertTrue(self.timed_notask())

    # 管家-定时任务编辑页面,点击保存按钮,弹窗提示:执行任务不能为空,请添加,点击确定按钮,弹窗消失
    def test_timed_notask_sure(self):
        self.assertFalse(self.timed_notask_sure())

    # 管家-新建一个定时任务,点击任务,进入定时任务编辑页面
    def test_click_timedtask(self):
        self.assertTrue(self.click_timedtask())

    # 管家-新建一个定时任务,左划任务,拉出编辑按钮
    def test_swip_timedtask(self):
        self.assertTrue(self.swip_timedtask())

    # 管家-新建一个定时任务,左划任务,拉出编辑按钮,点击编辑按钮,进入定时任务编辑页面
    def test_swip_timedtask_edit(self):
        self.assertTrue(self.swip_timedtask_edit())

    # 管家-新建一个定时任务,左划任务,拉出删除按钮
    def test_swip_timedtask_delete(self):
        self.assertTrue(self.swip_timedtask_delete())

    # 管家-新建一个定时任务,左划任务,拉出删除按钮,点击删除按钮,任务被删除
    def test_swip_timedtask_deletesure(self):
        self.assertFalse(self.swip_timedtask_deletesure())

    # 管家-创建管家任务编辑框,点击情景任务,进入情景任务编辑页面-----------------------------------------------------------------
    def test_scenetask_page(self):
        self.assertTrue(self.scenetask_page())

    # 管家-情景任务编辑页面,点击名称,弹出名称弹窗
    def test_scenetask_name(self):
        self.assertTrue(self.scenetask_name())

    # 管家-情景任务编辑-名称弹窗,输入名称哈哈123,点击确定,弹窗消失,名称显示为:哈哈123
    def test_scenetask_namesure(self):
        self.assertTrue(self.scenetask_namesure())

    # 管家-情景任务编辑-名称弹窗,输入名称哈哈123,点击取消,弹窗消失,名称显示未变
    def test_scenetask_namecancel(self):
        self.assertFalse(self.scenetask_namecancel())

    # 管家-情景任务编辑,点击满足任一条件时,进入选择设备页面
    def test_condition_page(self):
        self.assertTrue(self.condition_page())

    # 管家-条件任务-选择设备页面,点击全部分区,下拉所以分区,查找元素全部分区
    def test_conditionpage_zone(self):
        self.assertTrue(self.conditionpage_zone())

    # 管家-条件任务-选择设备页面,点击全部类别,下拉所以类别,查找智能门锁
    def test_conditionpage_categroy(self):
        self.assertTrue(self.conditionpage_category())

    # 管家-条件任务-选择设备页面,点击门窗磁探测器,进入设置设备状态页面
    def test_condition_magnetic_page(self):
        self.assertTrue(self.condition_mannetic_page())

    # 管家-条件任务-设置设备状态页面,点击被打开,跳转情景任务编辑页面,查找门窗磁探测器
    def test_condition_magnetic_open(self):
        self.assertTrue(self.condition_magnetic_open())

    # 管家-条件任务-设置设备状态页面,点击被关闭,跳转情景任务编辑页面,查找门窗磁探测器
    def test_condition_magnetic_close(self):
        self.assertTrue(self.condition_magnetic_close())

    # 管家-条件任务成功-情景任务编辑页面,左划任务,拉出删除按钮,查找删除
    def test_condition_swip(self):
        self.assertTrue(self.condition_swip())

    # 管家-条件任务成功-情景任务编辑页面,左划任务,拉出删除按钮,查找删除,点击删除,任务删除成功,查找不到门窗磁探测器
    def test_condition_swip_delete(self):
        self.assertFalse(self.condition_swip_delete())

    # 管家-情景任务编辑,点击执行以下任务,情景任务页面,查找添加要执行的设备
    def test_implement_page(self):
        self.assertTrue(self.implement_page())

    # 管家-执行任务-情景任务页面,点击添加要执行的设备,进入选择设备页面
    def test_implement_devicepage(self):
        self.assertTrue(self.implement_devicepage())

    # 管家-已设置条件-执行任务-情景任务页面,点击添加要执行的场景,进入选择场景页面
    def test_implement_scenepage(self):
        self.assertTrue(self.implement_scenepage())

    # 管家-执行任务-情景任务页面,点击添加要执行的场景,进入选择场景页面,点击完成,toast提示:请选择一个场景
    def test_implement_scenepage_finish(self):
        self.assertTrue(self.implement_scenepage_finish())

    # 管家-执行任务-选择设备页面,点击全部分区,下拉所以分区,查找元素全部分区
    def test_implement_device_zone(self):
        self.assertTrue(self.implement_device_zone())

    # 管家-已设置条件-执行任务-选择设备页面,点击全部类别,下拉所以类别,查找智能门锁
    def test_implement_device_categroy(self):
        self.assertTrue(self.implement_device_categroy())

    # 管家-已设置条件-执行任务-选择设备页面,点击批量添加,进入批量添加页面,查找全选
    def test_implement_device_add(self):
        self.assertTrue(self.implement_device_add())

    # 管家-执行任务-选择设备页面,点击墙面插座,进入设置设备状态页面
    def test_implement_socket_setting(self):
        self.assertTrue(self.implement_socket_setting())

    # 管家-执行任务-设置设备状态页面,点击开,跳转添加延时页面
    def test_implement_socket_open(self):
        self.assertTrue(self.implement_socket_open())

    # 管家-执行任务-设置设备状态页面,点击关,跳转添加延时页面
    def test_implement_socket_close(self):
        self.assertTrue(self.implement_socket_close())

    # 管家-执行任务-添加延时页面,点击添加延时开关按钮,弹出延时时间编辑框,查找秒
    def test_implement_time_open(self):
        self.assertTrue(self.implement_time_open())

    # 管家-执行任务-添加延时页面,点击添加延时开关按钮,弹出延时时间编辑框,再次点击开关按钮,延时时间编辑框隐藏,查找不到秒
    def test_implement_time_close(self):
        self.assertFalse(self.implement_time_close())

    # 管家-执行任务-添加延时页面,点击完成按钮,跳转情景任务编辑页面,查找墙面插座
    def test_implement_finish(self):
        self.assertTrue(self.implement_finish())

    # 管家-已设置任务,点击执行任务,进入设置设备状态页面
    def test_implement_click_firsttask(self):
        self.assertTrue(self.implement_click_firsttask())

    # 管家-已设置任务,左划执行任务,拉出删除按钮,查找删除
    def test_implement_swip(self):
        self.assertTrue(self.implement_swip())

    # 管家-已设置任务,左划执行任务,拉出删除按钮,点击删除按钮,任务被删除,查找墙面插座
    def test_implement_swip_delete(self):
        self.assertFalse(self.implement_swip_delete())

    # 管家-情景任务编辑页面,点击保存按钮,弹窗提示:执行条件或者执行任务不能为空,请添加
    def test_condition_implement_allnone(self):
        self.assertTrue(self.condition_implement_allnone())

    # 管家-情景任务编辑页面,点击保存按钮,弹窗提示:执行条件或者执行任务不能为空,请添加,点击确定按钮,弹窗消失
    def test_condition_implement_allnone_sure(self):
        self.assertFalse(self.condition_implement_allnone_sure())

    # 管家-情景任务编辑页面-已设置执行条件,点击保存按钮,弹窗提示:执行条件或者执行任务不能为空,请添加
    def test_implement_none(self):
        self.assertTrue(self.implement_none())

    # 管家-情景任务编辑页面-已设置执行任务,点击保存按钮,弹窗提示:执行条件或者执行任务不能为空,请添加
    def test_condition_none(self):
        self.assertTrue(self.condition_none())

    # 管家-已设置名称-已设置执行条件-已设置执行任务,点击保存,跳转我的管家页面,查找第一个管家任务元素
    def test_scenetask_creat(self):
        self.assertTrue(self.scenetask_creat())

    # 管家-已设置执行任务,点击左上返回按钮,弹窗提示:是否放弃编辑
    def test_giveup_edit2(self):
        self.assertTrue(self.giveup_edit2())

    # 管家-已设置执行任务,点击左上返回按钮,弹窗提示:是否放弃编辑,点击取消,弹窗消失
    def test_giveup_edit2_cancel(self):
        self.assertFalse(self.giveup_edit2_cancel())

    # 管家-已设置执行任务,点击左上返回按钮,弹窗提示:是否放弃编辑,点击确定,跳转我的管家页面,任务未保存
    def test_giveup_edit2_sure(self):
        self.assertFalse(self.giveup_edit2_sure())

    # 管家-情景任务编辑页面,点击生效条件,进入生效条件页面,查找:生效时间条件
    def test_precondition_page(self):
        self.assertTrue(self.precondition_page())

    # 管家-生效条件页面,点击生效时间条件,进入生效时段页面
    def test_precondition_time(self):
        self.assertTrue(self.precondition_time())

    # 管家-生效条件页面,点击生效设备条件,进入选择设备页面
    def test_precondition_device(self):
        self.assertTrue(self.precondition_device())

    # 管家-生效条件页面,点击生效场景条件,进入选择场景页面
    def test_precondition_scene(self):
        self.assertTrue(self.precondition_scene())

    # 管家-新建一个情景任务,点击情景任务,进入情景任务编辑页面
    def test_click_scenetask(self):
        self.assertTrue(self.click_scenetask())

    # 管家-新建一个情景任务,左划任务,拉出编辑按钮
    def test_scenetask_swip_edit(self):
        self.assertTrue(self.scenetask_swip_edit())

    # 管家-新建一个情景任务,左划任务,拉出编辑按钮,点击编辑按钮,进入定时任务编辑页面
    def test_scenetask_click_edit(self):
        self.assertTrue(self.scenetask_click_edit())

    # 管家-新建一个情景任务,左划任务,拉出删除按钮
    def test_scenetask_swip_delete(self):
        self.assertTrue(self.scenetask_swip_delete())

    # 管家-新建一个情景任务,左划任务,拉出删除按钮,点击删除按钮,任务被删除
    def test_scenetask_click_delete(self):
        self.assertFalse(self.scenetask_click_delete())
Esempio n. 10
0
class Test008(unittest.TestCase,
              a08_wall_socket.Wall_socket):  # TestCase类,所有测试用例类继承的基本类
    """墙面插座测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、设备,进入墙面插座详情页
    def test_details_page(self):
        self.assertTrue(self.details_page())

    # 2、设备-插座详情页,点击返回按钮,返回设备列表页面
    def test_details_page_back(self):
        self.assertTrue(self.details_page_back())

    # 3、设备-插座详情页,关闭状态,点击开关按钮,打开插座
    def test_open_socket(self):
        self.assertTrue(self.open_socket())

    # 4、设备-插座详情页,打开状态,点击开关按钮,关闭插座
    def test_close_socket(self):
        self.assertTrue(self.close_socket())

    # 5、设备-插座详情页,点击更多按钮,进入更多页面
    def test_more_pages(self):
        self.assertTrue(self.more_pages())

    # 设备-插座详情页-更多,点击返回按钮,进入设备详情页
    def test_more_pages_back(self):
        self.assertTrue(self.more_pages_back())

    # 设备-插座详情页-更多,重命名哈哈123-确定,toast:修改设备名称成功
    def test_rename(self):
        self.assertTrue(self.rename())
        # 恢复设备名称
        time.sleep(1)
        self.find_id(excel.id_con('item_device_more_rename')).click()  # 点击重命名
        time.sleep(1)
        self.find_id(excel.id_con('et_user_info')).send_keys(u'墙面插座')  # 输入新名称
        self.find_id(excel.id_con('dialog_btn_positive')).click()  # 点击确定按钮

    # 设备-插座详情页-更多,重命名哈哈123-确定,返回设备列表,可以查找到新设备名称
    def test_rename_back(self):
        self.assertTrue(self.rename_back())
        # 恢复设备名称
        self.click_device(u'哈哈')  # 点击墙面插座
        self.wait_ac(excel.activity_con('device_detail_activity'))
        time.sleep(1)
        self.find_xpath(excel.xpath_con('more')).click()  # 点击右上更多按钮
        time.sleep(1)
        self.find_id(excel.id_con('item_device_more_rename')).click()  # 点击重命名
        time.sleep(1)
        self.find_id(excel.id_con('et_user_info')).send_keys(u'墙面插座')  # 输入新名称
        self.find_id(excel.id_con('dialog_btn_positive')).click()  # 点击确定按钮

    # 设备-插座详情页-更多,重命名哈哈123-取消
    def test_rename_cancel(self):
        self.assertTrue(self.rename_cancel())

    # 设备-插座详情页-更多,命名已有的设备名称,toast提示:设备名称重复!
    def test_zzz_raname_repeat(self):
        self.assertTrue(self.zzz_rename_repeat())

    # 设备-插座详情页-更多,重命名-不输入名称,确定按钮点击无效,重命名弹窗还在,查找:请输入设备名
    def test_rename_none(self):
        self.assertTrue(self.rename_none())

    # 设备-插座详情页-更多,点击分区,进入分区页面
    def test_zone_pages(self):
        self.assertTrue(self.zone_pages())

    # 设备-插座详情页-更多-分区,点击返回按钮,返回更多页面
    def test_zone_pages_back(self):
        self.assertTrue(self.zone_pages_back())

    # 设备-插座详情页-更多,前置条件至少有一个分区,点击分区,返回更多页面,toast:修改设备区域成功
    def test_modify_zone(self):
        self.assertTrue(self.modify_zone())

    # 设备-插座详情页-更多,点击未分区,返回更多页面,未分区可以查找到
    def test_non_zone(self):
        self.assertTrue(self.non_zone())

    # 设备-插座详情页-更多-分区,点击右上管理分区,进入分区管理页面
    def test_zoning_pages(self):
        self.assertTrue(self.zoning_pages())

    # 设备-插座详情页-更多-分区-分区管理,点击返回按钮,返回分区页面
    def test_zoning_pages_back(self):
        self.assertTrue(self.zoning_pages_back())

    # 设备-插座详情页-更多,点击设备信息,进入设备信息页面,产品名称
    def test_device_information(self):
        self.assertTrue(self.device_information())

    # 设备-插座详情页-更多-设备信息,点击返回按钮,返回更多页面
    def test_device_information_back(self):
        self.assertTrue(self.device_information_back())

    # 设备-插座详情页-更多,点击找设备,弹窗设备指示灯将闪烁10秒
    def test_find_device(self):
        self.assertTrue(self.find_device())

    # 设备-插座详情页-更多-找设备弹窗,点击已找到,弹窗消失
    def test_find_device_found(self):
        self.assertFalse(self.find_device_found())

    # 设备-插座详情页-更多-找设备弹窗,点击再闪一次,弹窗还在
    def test_find_device_find(self):
        self.assertTrue(self.find_device_find())

    # 设备-插座详情页-更多,点击日志,日志消息页面
    def test_log_message_pages(self):
        self.assertTrue(self.log_message_pages())

    # 设备-插座详情页-更多-日志消息,点击返回,返回更多页面
    def test_log_message_pages_back(self):
        self.assertTrue(self.log_message_pages_back())

    # 设备-插座详情页-更多-日志消息,点击按日期查找,弹窗查找编辑框
    def test_log_search_by_time(self):
        self.assertTrue(self.log_search_by_time())

    # 设备-插座详情页-更多-日志消息,点击清空日志按钮,弹窗确定清空该设备消息记录
    def test_emptying_record(self):
        self.assertTrue(self.emptying_record())

    # 设备-插座详情页-更多-日志消息-清空弹窗,点击取消,弹窗消失
    def test_emptying_record_cancel(self):
        self.assertFalse(self.emptying_record_cancel())

    # 设备-插座详情页-更多-日志消息-清空弹窗,点击确定,弹窗消失,返回更多页面
    def test_emptying_record_sure(self):
        self.assertTrue(self.emptying_record_sure())

    # 设备-插座详情页-更多-日志消息-清空弹窗,清空消息,再返回日志页面,提示:没有日志消息
    def test_log_emptying(self):
        self.assertTrue(self.log_emptying())

    # 设备-插座详情页-更多-日志消息-清空弹窗,清空消息,再返返回设备详情页,点击两次开关按钮,再进日志页面,查到已打开
    def test_log_open(self):
        self.assertTrue(self.log_open())

    # 设备-插座详情页-更多-日志消息-清空弹窗,清空消息,再返返回设备详情页,点击两次开关按钮,再进日志页面,查到已关闭
    def test_log_close(self):
        self.assertTrue(self.log_close())

    # 设备-插座详情页-更多,点击删除设备,弹窗确定删除设备吗?
    def test_delete_device(self):
        self.assertTrue(self.delete_device())

    # 设备-插座详情页-更多-删除设备弹窗,点击取消按钮,弹窗消失(删除设备用例省略)
    def test_delete_device_cancel(self):
        self.assertFalse(self.delete_device_cancel())

    # 场景,设置场景打开插座    --------------------------------------------------------------
    def test_scene_open_socket(self):
        self.assertTrue(self.scene_open_socket())

    # 关闭插座,点击打开插座场景
    def test_click_scene_open_socket(self):
        self.assertTrue(self.click_scene_open_socket())

    # 场景,设置场景关闭插座
    def test_scene_close_socket(self):
        self.assertTrue(self.scene_close_socket())

    # 打开插座,点击关闭插座场景
    def test_click_scene_close_socket(self):
        self.assertTrue(self.click_scene_close_socket())

    # 场景,添加延时页面,点击延时按钮,弹出延时设置编辑框
    def test_scene_time(self):
        self.assertTrue(self.scene_time())

    # 场景,添加延时页面,点击延时按钮,弹出延时设置编辑框,再次点击延时按钮,编辑框隐藏
    def test_scene_time_off(self):
        self.assertFalse(self.scene_time_off())

    # 场景,添加延时页面,设置延时任务,编辑场景页面查找?秒后执行
    def test_scene_delay(self):
        self.assertTrue(self.scene_delay())

    # 场景,设置场景打开插座,点击返回按钮,弹窗:编辑的场景尚未保存,是否退出
    def test_editscene_back(self):
        self.assertTrue(self.editscene_back())

    # 场景,设置场景打开插座,点击返回按钮,点击取消,弹窗消失
    def test_editscene_back_cancel(self):
        self.assertFalse(self.editscene_back_cancel())

    # 场景,设置场景打开插座,点击返回按钮,点击退出,任务未保存
    def test_editscene_back_exit(self):
        self.assertFalse(self.editscene_back_exit())

    # 场景,设置场景打开插座,点击返回按钮,点击保存并退出,任务保存成功
    def test_editscene_back_exitsave(self):
        self.assertTrue(self.editscene_back_exitsave())

    # 场景,设置场景打开插座,左划拉出删除按钮
    def test_editscene_delete(self):
        self.assertTrue(self.editscene_delete())

    # 场景,设置场景打开插座,左划拉出删除按钮,点击删除,任务被删除
    def test_editscene_delete_click(self):
        self.assertFalse(self.editscene_delete_click())

    # 场景,设置场景打开插座,点击任务,可以重新设置任务,进入设置设备状态页面
    def test_editscene_edit(self):
        self.assertTrue(self.editscene_edit())

    # 场景,添加设备页面,点击全部分区,拉出所有分区
    def test_editscene_allzone(self):
        self.assertTrue(self.editscene_allzone())

    # 场景,添加设备页面,点击全部类别,拉出所有类别,查找智能门锁
    def test_editscene_allcategory(self):
        self.assertTrue(self.editscene_allcategory())

    # 场景,添加设备页面,点击批量添加,进入批量添加页面,查找全选
    def test_editscene_batchadd(self):
        self.assertTrue(self.editscene_batchadd())
Esempio n. 11
0
class Test005(unittest.TestCase,
              a05_setting.Setting):  # TestCase类,所有测试用例类继承的基本类
    """设置测试"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、设置-账号安全,身份验证,不填验证码,验证成功后即可换绑手机号按钮不可点击
    def test_authentication_button(self):
        self.assertFalse(self.authentication_button())

    # 2、设置-账号按钮,身份验证,错误验证码,toast提示:验证码错误
    def test_authentication_wrong_code(self):
        self.assertTrue(self.authentication_wrong_code())

    # 3、设置-账号按钮,身份验证,小于6位验证码,toast提示:验证码错误
    def test_authentication_code_6(self):
        self.assertTrue(self.authentication_code_6())

    # 4、设置-账号按钮,更改手机号,不输入手机号,直接点击获取验证码按钮,toast提示:手机号不能为空
    def test_phonepage_no_phone(self):
        self.assertTrue(self.phonepage_no_phone())

    # 5、设置-账号按钮,更改手机号,输入手机号,不输入验证码,更改手机号按钮不可点击
    def test_phonepage_button_no_code(self):
        self.assertFalse(self.phonepage_button_no_code())

    # 6、设置-账号按钮,更改手机号,输入验证码,不输入手机号,更改手机号按钮不可点击
    def test_phonepage_button_no_phone(self):
        self.assertFalse(self.phonepage_button_no_phone())

    # 7、设置-账号按钮,更改手机号,输入错误手机号,输入验证码,点击更改手机号按钮,toast提示:手机号格式错误
    def test_phonepage_wrong_phone(self):
        self.assertTrue(self.phonepage_wrong_phone())

    # 8、设置-账号按钮,更改手机号,输入手机号,输入错误验证码,点击更改手机号按钮,toast提示:验证码错误
    def test_phonepage_wrong_code(self):
        self.assertTrue(self.phonepage_wrong_code())

    # 9、设置-账号按钮,更改手机号,输入手机号,输入小于6位验证码,点击更改手机号按钮,toast提示:验证码错误
    def test_phonepage_code_6(self):
        self.assertTrue(self.phonepage_code_6())

    # 10、设置-账号按钮,更改手机号,输入已注册手机号,输入验证码,点击更改手机号按钮,toast提示:用户已存在
    def test_phonepage_old_user(self):
        self.assertTrue(self.phonepage_old_user())

    # 11、设置-账号安全-邮箱,不输入验证码,验证成功后即可换绑邮箱(邮箱验证码没有设置为123456,大部分用例不可翻译,省略,同更改手机号)按钮,不可点击
    def test_mail_no_code(self):
        self.assertFalse(self.mail_no_code())

    # 12、设置-账号安全-邮箱,输入错误验证码,toast提示:验证码失效
    def test_mail_wrong_code(self):
        self.assertTrue(self.mail_wrong_code())

    # 13、设置-账号安全-修改密码,不输入验证码,验证成功后即可修改密码按钮,不可点击
    def test_password_no_code(self):
        self.assertFalse(self.password_no_code())

    # 14、设置-账号安全-修改密码,输入错误密码,点击验证成功后即可修改密码按钮,toast提示:验证码错误
    def test_password_wrong_code(self):
        self.assertTrue(self.password_wrong_code())

    # 15、设置-账号安全-修改密码-修改密码,不输入新密码,确定按钮不可点击
    def test_password_no_new_password(self):
        self.assertFalse(self.password_no_new_password())

    # 16、设置-账号安全-修改密码-修改密码,输入少于6位新密码,toast提示:密码长度不能小于6个字符
    def test_password_new_password_6(self):
        self.assertTrue(self.password_new_password_6())

    # 17、设置-账号安全-修改密码-修改密码,输入全数字新密码,toast提示:密码至少有数字、字母或符号的2种组合
    def test_password_new_number_password(self):
        self.assertTrue(self.password_new_number_password())

    # 18、设置-账号安全-修改密码-修改密码,输入全字母新密码,toast提示:密码至少有数字、字母或符号的2种组合
    def test_password_new_letter_password(self):
        self.assertTrue(self.password_new_letter_password())

    # 19、设置-账号安全-修改密码-修改密码,输入正确的新密码,返回我的页面
    def test_new_password(self):
        self.assertTrue(self.new_password())

    # 20、设置-推送通知,关闭按钮,设备推送管理等隐藏
    def test_close_push(self):
        self.assertFalse(self.close_push())
        # 打开推送通知
        time.sleep(1)
        self.find_id(excel.id_con('item_setting_alarm_user')).click()

    # 21、设置-推送通知,打开按钮,推送时间等展开
    def test_open_push(self):
        self.assertTrue(self.open_push())

    # 22、设置-报警语音-报警语音,关闭按钮,语速等隐藏
    def test_closing_alarm_speech(self):
        self.assertFalse(self.closing_alarm_speech())
        # 打开报警语音
        time.sleep(1)
        self.find_id(
            excel.id_con('item_remind_alarm_voice')).click()  # 点击报警语音开关按钮,打开

    # 23、设置-报警语音-报警语音,打开按钮,语种等展开
    def test_open_alarm_speech(self):
        self.assertTrue(self.open_alarm_speech())

    # 24、设置,点击推送时间
    def test_push_time(self):
        self.assertTrue(self.push_time())

    # 25、设置,点击设置推送管理
    def test_push_manage(self):
        self.assertTrue(self.push_manage())

    # 26、设置,点击换肤中心
    def test_setting_skin(self):
        self.assertTrue(self.setting_skin())

    # 27、设置,点击清理缓存
    def test_setting_cache(self):
        self.assertTrue(self.setting_cache())

    # 28、设置,点击退出登陆
    def test_drop_out(self):
        self.assertTrue(self.drop_out())
Esempio n. 12
0
class Test003(unittest.TestCase,
              a03_register.Register):  # TestCase类,所有测试用例类继承的基本类
    """注册测试+忘记密码"""

    # setUp()方法用于测试用例执行前的初始化工作,如打开APP
    def setUp(self):
        self.ina = Open_app(self)
        self.ina.open()
        self.driver = self.ina.get_driver()
        self.verificationErrors = []  # 错误信息打印到这个列表
        self.accept_next_alert = True  # 是否继续接受下个警告

    def tearDown(self):
        time.sleep(2)
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

    # 1、进入注册页
    def test_click_the_regidter(self):
        self.assertTrue(self.click_the_register())

    # 2、手机号格式不正确
    def test_incorrect_format(self):
        self.assertTrue(self.incorrect_format())

    # 3、手机号已被注册-用户已存在
    def test_account_is_registered(self):
        self.assertTrue(self.account_is_registered())

    # 4、手机号码为空下一步按钮不可点击
    def test_next_step_not_clickable(self):
        self.assertFalse(self.next_step_not_clickable())

    # 5、《使用条款与免责协议》
    def test_disclaimer_agreement(self):
        self.assertTrue(self.disclaimer_agreement())

    # 6、《使用条款与免责协议》页面返回注册页面
    def test_return_register(self):
        self.assertTrue(self.return_register())

    # 7、进入忘记密码页面
    def test_forget_the_password(self):
        self.assertTrue(self.forget_the_password())

    # 8、忘记密码,手机号格式不正确
    def test_password_incorrect_format(self):
        self.assertTrue(self.password_incorrect_format())

    # 9、未输入手机号,下一步按钮不可点击
    def test_password_not_clickable(self):
        self.assertFalse(self.password_not_clickable())

    # 10、新密码设置成功
    def test_new_password(self):
        self.assertTrue(self.new_password())

    # 11、输入错误的验证码
    def test_error_validation_code(self):
        self.assertTrue(self.error_validation_code())

    # 12、新密码不足6位
    def test_password_less_6(self):
        self.assertTrue(self.password_less_6())