コード例 #1
0
def test_dismiss_group(driver1, groupname, grouptype):
    ret_status = False
    print "< case satart: dismiss group >"

    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    text = "dismiss group"
    xpath_id = "com.hyphenate.chatuidemo:id/btn_exitdel_grp"
    elem = case_common.findelem_swipe(driver1, xpath_id, text)
    elem.click()  # 点击解散群组按钮
    driver1.find_element_by_id(
        "com.hyphenate.chatuidemo:id/btn_exit").click()  # 确认解散群组

    sleep(3)
    mygrouplist = get_grouplist(driver1)
    if groupname not in mygrouplist:
        ret_status = True
        print "group: %s dismiss success!" % groupname
        print "< case end: pass >"
    else:
        print "< case end: fail >"
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_status[sys._getframe().f_code.co_name + "_" + grouptype] = ret_status
    return ret_status
コード例 #2
0
def test_get_chatroomlist(driver):
    ret_status = False

    print "<case start: get_chatroomlist >"
    case_common.gotoContact(driver)
    case_common.gotoChatroomlist(driver)
    mylist = driver.find_elements_by_id(
        "com.hyphenate.chatuidemo:id/progressBar"
    )  #ensure refresh chatroom list complete.
    while mylist != []:
        mylist = driver.find_elements_by_id(
            "com.hyphenate.chatuidemo:id/progressBar")

    roomlist = driver.find_elements_by_xpath(
        "//android.widget.ListView[@index='2']/*")  # 获取聊天室列表条目
    if len(roomlist) > 0:
        print "get chatroom list success!"
        print "< case end: pass. >"
        ret_status = True
    else:
        print "get chatroom list failed!"
        print "< case end: failed. >!"
        ret_status = False

        case_common.back(driver)
        case_common.gotoConversation(driver)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #3
0
def test_msg_restunblock(driver1, driver2, fromname, blockname):
    ret_status = False
    print "< case start: check msg after after rest unblock friend >"

    restHelper.del_friend_blacklist(fromname, blockname)
    case_common.del_conversation(driver1)
    case_chat.clear_msg(driver2)
    msgcontent = "test msg"
    msgtype = "text"
    chattype = "single_chat"

    if case_chat.send_msg_txt(driver2, msgcontent):
        if case_chat.test_rcv_msg(driver1, blockname, msgcontent, msgtype,
                                  chattype):
            ret_status = True
            print "< case end: pass>"
        else:
            print "< case end: fail>"
    else:
        print "< case end: fail>"

    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #4
0
def test_sendrcv_msg(driver1, driver2, groupname):
    ret_status = False
    print "< case start: send and receive msg in %s group >" % groupname

    msgtype = "text"
    chattype = "group_chat"
    msgcontent = case_common.random_str(8)

    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    find_group(driver2, groupname)
    case_common.click_name(driver2, groupname)
    case_chat.send_msg_txt(driver2, msgcontent)
    if case_chat.check_if_receivemsg(driver1, groupname, msgcontent):
        print "< case end: pass >"
        ret_status = True
    else:
        print "< case end: fail >"

    case_common.back(driver2)
    sleep(1)
    case_common.back(driver2)
    sleep(1)
    case_common.gotoConversation(driver2)

    case_status[sys._getframe().f_code.co_name + "_" + groupname] = ret_status
    return ret_status
コード例 #5
0
def testset_single_chat(driver1, driver2, fromname, toname):
    print "********************************************---Single Chat---********************************************"
    chattype = "single_chat"

    case_common.gotoContact(driver1)
    case_common.click_name(driver1, toname)
    clear_msg(driver1)
    msgcontent = case_common.random_str(8)
    msgtype = "text"

    if test_send_msg_txt(driver1, chattype, msgcontent):
        print "------------------------------------------------------------------------------------------------------------------"
        test_rcv_msg(driver2, fromname, msgcontent, msgtype, chattype)
        print "------------------------------------------------------------------------------------------------------------------"
        test_read_msg(driver2, fromname, msgtype)
        print "------------------------------------------------------------------------------------------------------------------"
        test_rcv_readAck(driver1, msgtype)
        print "------------------------------------------------------------------------------------------------------------------"
        test_recall_message(driver1, driver2, fromname, msgcontent, chattype)
        clear_msg(driver2)
        case_common.back(driver2)
        print "------------------------------------------------------------------------------------------------------------------"
    msgcontent = u"[语音]"
    msgtype = "audio"

    clear_msg(driver1)
    sleep(2)
    case_common.back(driver1)
    sleep(2)
    case_common.click_name(driver1, toname)
    if test_send_msg_audio(driver1, chattype):
        print "------------------------------------------------------------------------------------------------------------------"
        test_rcv_msg(driver2, fromname, msgcontent, msgtype, chattype)
        print "------------------------------------------------------------------------------------------------------------------"
        test_read_msg(driver2, fromname, msgtype)
        print "------------------------------------------------------------------------------------------------------------------"
        case_common.back(driver2)
        test_rcv_readAck(driver1, msgtype)
        print "------------------------------------------------------------------------------------------------------------------"

    case_common.switch_messageroaming(driver2)
    msgcontent1 = case_common.random_str(8)
    msgcontent2 = case_common.random_str(8)
    case_common.mode_keyboard(driver1)

    if send_msg_txt(driver1, msgcontent1) and send_msg_txt(
            driver1, msgcontent2):
        click_conversation(driver2, fromname)
        clear_msg(driver2)
        test_roaming_message(driver2, msgcontent1, msgcontent2, chattype)
        case_common.back(driver2)

    case_common.switch_messageroaming(driver2)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)
コード例 #6
0
def test_join_group(driver1, driver2, applyer, owner, groupname,
                    approval_type):
    ret_status = False
    print "< case start: join group >"

    groupid = restHelper.get_groupid(owner, groupname)

    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    find_group(driver2, groupname)
    case_common.click_name(driver2, "Add public group")
    search_group(driver2, groupid).click()
    button_join_group(driver2).click()
    print "B sended join group apply."
    sleep(2)
    case_common.back(driver2)
    sleep(0.5)
    case_common.back(driver2)
    sleep(0.5)
    case_common.back(driver2)

    if approval_type == "approval":
        case_common.gotoContact(driver1)
        case_common.gotoInvitation(driver1)
        if check_groupapply(driver1, groupname, applyer):
            print "A received group join apply."
            accept_groupapply(driver1, groupname)
            print "A agreed apply."
        else:
            print "A not receive B join apply"
        sleep(3)
        case_common.back(driver1)
        case_common.gotoConversation(driver1)

    try:
        WebDriverWait(driver2, 10).until(
            EC.visibility_of_element_located(
                (By.XPATH,
                 "//android.widget.TextView[@text='%s']" % groupname)))
        print "B join group success!"
        print "< case end: pass >"
        ret_status = True
    except:
        print "B join group fail!"
        print "<case end: fail >"

    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    case_status[sys._getframe().f_code.co_name + "_" + groupname] = ret_status
    return ret_status
コード例 #7
0
def test_unmute_groupmember(driver1, driver2, groupname, testaccount,
                            unmute_name, isadmincase):
    ret_status = False
    print "< case start: unmute >"

    groupid = restHelper.get_groupid(testaccount, groupname)

    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    elem = find_memberElement(driver1, unmute_name)
    elem.click()
    unmute(driver1)

    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    find_group(driver2, groupname)
    case_common.click_name(driver2, groupname)
    case_chat.clear_groupmsg(driver2)

    if case_chat.send_msg_txt(driver2, content="test msg!"):
        print "Unmute B sucess!"
        ret_status = True
        print "< case end: pass> "
    else:
        print "< case end: fail >"

    case_common.back(driver2)
    sleep(1)
    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    if isadmincase == 1:
        mystr = ":groupAdmin"
    else:
        mystr = ":groupOwner"
    case_status[sys._getframe().f_code.co_name + mystr] = ret_status
    return ret_status
コード例 #8
0
def testset_call(driver1, driver2, userA=accountA, userB=accountB):
    print "********************************************---Voice/Video call and conference voice/video call---********************************************"
    case_common.gotoContact(driver1)
    case_common.click_name(driver1, userB)
    print "------------------------------------------------------------------------------------------------------------------"
    test_voice_call(driver1, driver2, userA, userB)
    print "------------------------------------------------------------------------------------------------------------------"
    test_video_call(driver1, driver2, userA, userB)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)
    print "------------------------------------------------------------------------------------------------------------------"
    case_common.gotoContact(driver1)
    test_conference_voice_call(driver1, driver2, userA, userB)
    print "------------------------------------------------------------------------------------------------------------------"
    test_conference_video_call(driver1, driver2, userA, userB)
    case_common.gotoConversation(driver1)
コード例 #9
0
def test_block_friend(driver, friendname):
    ret_status = False
    print "< case start: block friend >"

    case_common.gotoContact(driver)
    if block_friend(driver, friendname):
        ret_status = True
        print "< case end: pass >"
    else:
        print "< case end: fail >"

    case_common.back(driver)
    case_common.gotoConversation(driver)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #10
0
def send_chatroomMsg_location(driver):
    ret_status = False

    mydic = get_richmedia_msg_buttons(driver)

    mydic['location'].click()
    sleep(3)
    driver.find_element_by_id(
        'com.hyphenate.chatuidemo:id/btn_location_send').click()
    #发送位置

    msglist = driver.find_elements_by_xpath(
        "//android.widget.ListView[@index = '0']/*")
    myindex = str(len(msglist) - 1)
    print "myindex: %d" % int(myindex)

    sleep(3)
    if driver.find_elements_by_xpath(
            "//android.widget.ListView[@index='0']/*") == []:
        print "Cannot get your logcation, please check network connection and try again latter!"
        return
    else:
        mylist = driver.find_elements_by_xpath(
            "//android.widget.ListView[@index='0']/android.widget.LinearLayout[@index='%s']/android.widget.LinearLayout[@index='0']/android.widget.RelativeLayout/*"
            % myindex)
        print "lenth of mylist is: %s" % len(mylist)
        while mylist[0].get_attribute(
                "resourceId") == 'com.hyphenate.chatuidemo:id/progress_bar':
            sleep(3)
            mylist = driver.find_elements_by_xpath(
                "//android.widget.ListView[@index='0']/android.widget.LinearLayout[@index='0']/android.widget.LinearLayout[@index='0']/android.widget.RelativeLayout[@index='1']/*"
            )
        if mylist[0].get_attribute(
                "resourceId") == 'com.hyphenate.chatuidemo:id/bubble':
            print " message sent sucess!"
            case_common.back(driver)
            ret_status = True
        elif mylist[0].get_attribute(
                "resourceId") == 'com.hyphenate.chatuidemo:id/tv_delivered':
            print " message delivered sucess!"
            case_common.back(driver)
            ret_status = True
        elif mylist[0].get_attribute(
                "resourceId") == 'com.hyphenate.chatuidemo:id/tv_ack':
            print "message sent success and got Read ACK!"
            case_common.back(driver)
            ret_status = True
        elif mylist[0].get_attribute(
                "resourceId") == 'com.hyphenate.chatuidemo:id/msg_status':
            print "message sent failed!"
            case_common.back(driver)

    return ret_status
コード例 #11
0
def test_add_groupmember_agree(driver1, driver2, groupname, testaccount,
                               memberlist, isadmincase, ismemberinvite):
    ret_status = False
    print "< case start: add group member->agree >"

    groupid = restHelper.get_groupid(testaccount, groupname)

    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    case_common.swipeDown(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    sleep(1)
    goto_groupinfo(driver1)
    add_groupmember(driver1, memberlist)
    sleep(2)

    case_common.gotoContact(driver2)
    if case_common.find_notice(driver2, groupid):
        accept_groupinvite(driver2, groupid)
        sleep(3)
        namelist = get_all_people(driver1)
        for i in memberlist:
            if i in namelist:
                ret_status = True
                break
    else:
        print "B not receive group Invitation, cannot complete agree operation!"

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)
    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    if ret_status == True:
        print "< case end: pass >"
    else:
        print "< case end: fail >"

    if isadmincase == 1:
        mystr = ":groupAdmin"
    else:
        if ismemberinvite == 1:
            mystr = ":memberinvite"
        else:
            mystr = ":groupOwner"
    case_status[sys._getframe().f_code.co_name + mystr] = ret_status
    return ret_status
コード例 #12
0
def create_chatroom_success(driver, roomname):
    ret_status = False

    try:
        sleep(2)
        driver.find_element_by_xpath("//android.widget.TextView[@text='%s']" %
                                     roomname)
        print "create chatroom successful."
        ret_status = True
    except:
        print "create chatroom fail."
        case_common.back(driver)
    else:
        leave_chatroom(driver)
    finally:
        sleep(1)
        case_common.back(driver)
        case_common.gotoConversation(driver)

    return ret_status
コード例 #13
0
def test_create_group(driver1, groupname, grouptype):
    print "< case start: create %s group >" % grouptype
    ret_status = False

    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    case_common.click_name(driver1, "Create new group")
    driver1.find_element_by_id(
        "com.hyphenate.chatuidemo:id/edit_group_name").send_keys(groupname)
    if grouptype == "gknotapproval":
        driver1.find_element_by_id(
            "com.hyphenate.chatuidemo:id/cb_public").click()
    elif grouptype == "gkapproval":
        driver1.find_element_by_id(
            "com.hyphenate.chatuidemo:id/cb_public").click()
        driver1.find_element_by_id(
            "com.hyphenate.chatuidemo:id/cb_member_inviter").click()
    elif grouptype == "syinvite":
        driver1.find_element_by_id(
            "com.hyphenate.chatuidemo:id/cb_member_inviter").click()

    sleep(1)

    driver1.find_element_by_xpath(
        "//android.widget.Button[@text='Save']").click()
    sleep(2)
    driver1.find_element_by_xpath(
        "//android.widget.Button[@text='Save']").click()

    if find_group(driver1, groupname):
        ret_status = True
        print "group: %s created success!" % groupname
        print "< case end: pass >"
    else:
        print "< case end: fail >"

    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_status[sys._getframe().f_code.co_name + "_" + grouptype] = ret_status
    return ret_status
コード例 #14
0
def test_dismiss_chatroom(driver, roomname):
    ret_status = False

    print "< case start: dismiss chatroom>"
    join_a_chatroom(driver, roomname)
    chatroom_details(driver, roomname)

    if dismiss_chatroom(driver):
        print "dismiss chatroom successful."
        case_common.back(driver)
        case_common.gotoConversation
        ret_status = True
        print "< case end: pass. >"
    else:
        print "dismiss chatroom fail."
        case_common.back(driver)
        leave_a_chatroom
        print "< case end: failed. >"

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #15
0
def testset_group_chat(driver1, driver2, fromname, groupname):
    chattype = "group_chat"
    print "********************************************---Group Chat---********************************************"
    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    case_group.find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)

    print "------------------------------------------------------------------------------------------------------------------"
    msgcontent = case_common.random_str(8)
    msgtype = "text"
    clear_groupmsg(driver1)
    if test_send_msg_txt(driver1, chattype, msgcontent):
        print "------------------------------------------------------------------------------------------------------------------"
        test_rcv_msg(driver2, groupname, msgcontent, msgtype, chattype)
        print "------------------------------------------------------------------------------------------------------------------"
        case_common.click_name(driver2, groupname)
        test_recall_message(driver1, driver2, fromname, msgcontent, chattype)
        case_common.back(driver2)
    print "------------------------------------------------------------------------------------------------------------------"
    msgcontent = u"[语音]"
    msgtype = "audio"

    clear_groupmsg(driver1)
    if test_send_msg_audio(driver1, chattype):
        print "------------------------------------------------------------------------------------------------------------------"
        test_rcv_msg(driver2, groupname, msgcontent, msgtype, chattype)
        print "------------------------------------------------------------------------------------------------------------------"

    case_common.switch_messageroaming(driver2)
    msgcontent1 = case_common.random_str(8)
    msgcontent2 = case_common.random_str(8)
    case_common.mode_keyboard(driver1)

    if test_send_msg_txt(driver1, chattype, msgcontent1) and test_send_msg_txt(
            driver1, chattype, msgcontent2):
        click_conversation(driver2, groupname)
        clear_groupmsg(driver2)
        sleep(2)
        case_common.swipeUp(driver2)
        print "------------------------------------------------------------------------------------------------------------------"
        test_roaming_message(driver2, msgcontent1, msgcontent2, chattype)
        case_common.back(driver2)

    case_common.switch_messageroaming(driver2)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.gotoConversation(driver1)
コード例 #16
0
def test_del_groupmember(driver1, driver2, groupname, testaccount, dellist,
                         isadmincase):
    ret_status = False
    print "< case start: del groupmember >"

    groupid = restHelper.get_groupid(testaccount, groupname)
    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    for i in dellist:
        elem = find_memberElement(driver1, i)
        elem.click()
        del_member(driver1)
    sleep(3)
    namelist = get_all_people(driver1)
    for name in dellist:
        if name not in namelist:
            print "deleted user: "******"del groupmember failed!"
                print "< case end: fail >"
            else:
                print "del group member sucess!"
                ret_status = True
                print "< case end: pass >"

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    if isadmincase == 1:
        mystr = ":groupAdmin"
    else:
        mystr = ":groupOwner"

    case_status[sys._getframe().f_code.co_name + mystr] = ret_status
    return ret_status
コード例 #17
0
def test_remove_chatroommember(driver1, driver2, roomname, member):
    ret_status = False

    print "< case start: remove a chatroom member>"
    join_a_chatroom(driver2, roomname)
    join_a_chatroom(driver1, roomname)

    chatroom_details(driver1, roomname)
    chatroom_member_manage(driver1, roomname, member)
    case_group.del_member(driver1)
    sleep(3)

    if chatroom_list_view(driver2):
        print "kick %s out of chatroom sucess!" % (member)
        ret_status = True
        print "< case end: pass >"
    else:
        print "< case end: fail >"
        case_common.back(driver2)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #18
0
def test_unmute_chatroommember(driver1, driver2, roomname, unmute_name):
    ret_status = False

    print "< case start: unmute a chatroom member>"

    chatroom_member_manage(driver1, roomname, unmute_name)
    case_group.unmute(driver1)
    sleep(3)

    if case_chat.send_chatroommsg_txt(driver2, "test msg!"):
        print "unmute %s sucessful!" % (unmute_name)
        ret_status = True
        print "< case end: pass >"
    else:
        print "< case end: fail >"

    case_common.back(driver1)
    leave_a_chatroom(driver1)
    leave_a_chatroom(driver2)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #19
0
def test_exit_group(driver1, driver2, membername, groupname):
    ret_status = False
    print "< case start: exit group >"

    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    find_group(driver2, groupname)
    case_common.click_name(driver2, groupname)
    goto_groupinfo(driver2)
    sleep(1)
    case_common.swipeUp(driver2)
    driver2.find_element_by_id(
        "com.hyphenate.chatuidemo:id/btn_exit_grp").click()  # 点击退出群组按钮
    driver2.find_element_by_id(
        "com.hyphenate.chatuidemo:id/btn_exit").click()  # 确认退出
    sleep(5)

    mygrouplist = get_grouplist(driver2)
    if groupname not in mygrouplist:
        print "%s exited from group:%s" % (membername, groupname)

    A_memberlist = get_all_people(driver1)
    if membername not in A_memberlist:
        print "A received B exit group notice success!"
        print "< case end: pass >"
        ret_status = True
    else:
        print "< case end: fail >"

    case_common.back(driver2)
    case_common.gotoConversation(driver2)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(2)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #20
0
def test_unblock_chatroommember(driver1, driver2, roomname, member):
    ret_status = False

    print "< case start: unblock a chatroom member>"

    chatroom_member_manage(driver1, roomname, member)
    case_group.rm_group_blacklist(driver1)
    sleep(3)

    join_chatroom(driver2, roomname)

    if chatroom_view(driver2, roomname):
        print "Unblock %s sucess!" % (member)
        ret_status = True
        print "< case end: pass >"
    else:
        print "< case end: fail >"

    case_common.back(driver1)
    leave_a_chatroom(driver1)
    leave_a_chatroom(driver2)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #21
0
def test_rm_admin_chatroom(driver1, driver2, roomname, adm_name):
    ret_status = False

    print "< case start: remove chatroom admin>"

    chatroom_admin_manage(driver1, roomname, adm_name)
    case_group.rm_admin(driver1)
    sleep(3)

    mydic = case_group.get_group_roles(driver1)
    if adm_name not in mydic["adminlist"]:
        ret_status = True
        print "%s received -admin notice sucess!" % (adm_name)
        print "< case end: pass >"
    else:
        print "%s not receive -admin notice, fail!" % (adm_name)
        print "< case end: fail >"

    case_common.back(driver1)
    leave_a_chatroom(driver1)
    leave_a_chatroom(driver2)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #22
0
def test_add_groupmember_refuse(driver1, driver2, groupname, testaccount,
                                memberlist, isadmincase):
    ret_status = False
    print "< case start: add group member->refuse >"

    groupid = restHelper.get_groupid(testaccount, groupname)
    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)
    add_groupmember(driver1, memberlist)
    case_common.gotoContact(driver2)
    if check_groupinvite(driver2, groupid):
        refuse_groupinvite(driver2, groupid)

    sleep(3)
    namelist = get_all_people(driver1)
    for i in memberlist:
        if i not in namelist:
            ret_status = True
            break

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    if ret_status == True:
        print "< case end: pass! >"
    else:
        print "< case end: failed! >"

    if isadmincase == 1:
        mystr = ":groupAdmin"
    else:
        mystr = ":groupOwner"

    case_status[sys._getframe().f_code.co_name + mystr] = ret_status
    return ret_status
コード例 #23
0
def test_block_groupmember(driver1, driver2, groupname, testaccount, blockname,
                           isadmincase):
    ret_status = False
    print "< case start: block groupmember>"

    groupid = restHelper.get_groupid(testaccount, groupname)

    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    elem = find_memberElement(driver1, blockname)
    elem.click()
    add_group_blacklist(driver1)

    sleep(5)
    Bgrouplist = get_grouplist(driver2)
    if groupname not in Bgrouplist:
        print "Received beBlocked notice!"
        print "< case end: pass >"
        ret_status = True
    else:
        print "Not eceived beBlocked notice!"
        print "< case end: fail >"

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    if isadmincase == 1:
        mystr = ":groupAdmin"
    else:
        mystr = ":groupOwner"
    case_status[sys._getframe().f_code.co_name + mystr] = ret_status
    return ret_status
コード例 #24
0
def multi_devices_chat(driver1, driver2, fromname, toname, groupname):
    print "********************************************---Multi devices Chat---********************************************"
    chattype = "single_chat"
    msgtype = "text"
    msgnum = 1
    groupid = restHelper.get_groupid(fromname, groupname)
    case_account.switch_user(driver2, fromname)

    if not kick_by_other(driver1):

        case_common.del_conversation(driver2)

        restHelper.sendmsg(fromname, "rest", msgnum, msgtype='users')
        print "------------------------------------------------------------------------------------------------------------------"
        test_multidev_rcv(driver1, driver2, "rest", "testmsg0", msgtype,
                          chattype)

        chattype = "group_chat"
        restHelper.sendmsg(groupid, "rest", msgnum, msgtype="chatgroups")
        print "------------------------------------------------------------------------------------------------------------------"
        test_multidev_rcv(driver1, driver2, "rest", "testmsg0", msgtype,
                          chattype)

        case_common.gotoContact(driver1)
        case_common.click_name(driver1, toname)
        msgcontent = case_common.random_str(8)
        chattype = "single_chat"
        msgtype = "text"

        if test_send_msg_txt(driver1, chattype, msgcontent):
            print "------------------------------------------------------------------------------------------------------------------"
            test_multidev_send(driver2, toname, msgcontent, msgtype, chattype)
            print "------------------------------------------------------------------------------------------------------------------"

        case_common.back(driver1)
        case_common.gotoGroup(driver1)
        case_group.find_group(driver1, groupname)
        case_common.click_name(driver1, groupname)
        chattype = "group_chat"
        msgcontent = case_common.random_str(8)

        if test_send_msg_txt(driver1, chattype, msgcontent):
            test_multidev_send(driver2, groupname, msgcontent, msgtype,
                               chattype)

        case_common.back(driver1)
        sleep(1)
        case_common.back(driver1)
        sleep(1)
        case_common.gotoConversation(driver1)
        case_account.switch_user(driver2, toname)
    else:
        case_account.switch_user(driver2, toname)
        case_account.test_login(driver1, fromname, password="******")
コード例 #25
0
def test_unblock_groupmember(driver1, groupname, unblock_name, isadmincase):
    ret_status = False

    print "< case start: ublock groupmember >"
    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    elem = find_memberElement(driver1, unblock_name)
    elem.click()
    rm_group_blacklist(driver1)

    case_common.back(driver1)
    goto_groupinfo(driver1)

    mylist = get_all_people(driver1)
    if unblock_name not in mylist:
        print "unblock success!"
        ret_status = True
        print "< case end: pass>"
    else:
        print "< case end: fail >"

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    if isadmincase == 1:
        mystr = ":groupAdmin"
    else:
        mystr = ":groupOwner"

    case_status[sys._getframe().f_code.co_name + mystr] = ret_status
    return ret_status
コード例 #26
0
def test_add_friend(driver1, driver2, fromname, toname):
    ret_status = False
    print "< case start: add frined >"

    case_common.gotoContact(driver1)
    add_friend(driver1, toname)
    case_common.gotoContact(driver2)
    case_common.find_notice(driver2, fromname)
    accept_friend_invite(driver2, fromname)

    case_common.back(driver1)
    case_common.back(driver2)

    isContactScreen = case_common.isContactScreen(
        driver2
    )  #检查是否回到了contact_list界面,如果没有回到contact list界面则:loop(等待1s,再执行一次back)
    while not isContactScreen:
        sleep(1)
        case_common.back(driver2)
        isContactScreen = case_common.isContactScreen(driver2)

    mylist1 = get_friendList(driver1)
    mylist2 = get_friendList(driver2)
    if toname in mylist1 and fromname in mylist2:
        ret_status = True
        print "add friend success!"
        print "< case end: pass >"
    else:
        print "add friend failed!"
        print "< case end: fail >"

    case_common.gotoConversation(driver1)
    case_common.gotoConversation(driver2)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #27
0
def testset_chatroom(driver1, driver2, accountA, accountB):
    print "********************************************---Chatroom---********************************************"
    newroomname = "my_autotest_chatroom"
    restHelper.del_chatroom_vianame(newroomname)
    restHelper.chatroom_superadmin(accountA)

    if test_get_chatroomlist(driver1) and test_get_chatroomlist(driver2):
        roominfo = restHelper.get_joinroominfo()
        roomid = roominfo[0]
        roomname = roominfo[1]
        msgcontent = case_common.random_str(8)
        print "------------------------------------------------------------------------------------------------------------------"
        restHelper.send10chatroommsg(roomid)
        if test_join_chatroom(driver1, accountA, roomname,
                              roomid) and test_join_chatroom(
                                  driver2, accountB, roomname, roomid):
            test_get_10_historymsg(driver1)
            print "------------------------------------------------------------------------------------------------------------------"
            case_chat.test_send_chatroommsg_txt(driver1, msgcontent)
            print "------------------------------------------------------------------------------------------------------------------"
            case_chat.test_rcv_chatroommsg_txt(driver2, msgcontent)
            print "------------------------------------------------------------------------------------------------------------------"
            case_chat.test_send_chatroommsg_audio(driver1)
            print "------------------------------------------------------------------------------------------------------------------"
            test_leave_chatroom(driver1, accountA, roomname, roomid)
            print "------------------------------------------------------------------------------------------------------------------"
            case_common.back(driver1)
            case_common.gotoConversation(driver1)

    if test_create_chatroom(driver1, newroomname):
        print "------------------------------------------------------------------------------------------------------------------"
        test_add_admin_chatroom(driver1,
                                driver2,
                                newroomname,
                                adm_name=accountB)
        print "------------------------------------------------------------------------------------------------------------------"
        test_rm_admin_chatroom(driver1,
                               driver2,
                               newroomname,
                               adm_name=accountB)
        print "------------------------------------------------------------------------------------------------------------------"
        test_mute_chatroommember(driver1,
                                 driver2,
                                 newroomname,
                                 mute_name=accountB)
        print "------------------------------------------------------------------------------------------------------------------"
        test_unmute_chatroommember(driver1,
                                   driver2,
                                   newroomname,
                                   unmute_name=accountB)
        print "------------------------------------------------------------------------------------------------------------------"
        test_remove_chatroommember(driver1,
                                   driver2,
                                   newroomname,
                                   member=accountB)
        print "------------------------------------------------------------------------------------------------------------------"
        test_block_chatroommember(driver1,
                                  driver2,
                                  newroomname,
                                  member=accountB)
        print "------------------------------------------------------------------------------------------------------------------"
        test_unblock_chatroommember(driver1,
                                    driver2,
                                    newroomname,
                                    member=accountB)
        print "------------------------------------------------------------------------------------------------------------------"
        test_dismiss_chatroom(driver1, newroomname)
        print "------------------------------------------------------------------------------------------------------------------"
コード例 #28
0
def leave_a_chatroom(driver):
    driver.find_element_by_id(
        "com.hyphenate.chatuidemo:id/left_layout").click()
    sleep(1)
    case_common.back(driver)
    case_common.gotoConversation(driver)
コード例 #29
0
def test_add_admin(driver1, driver2, groupname, testaccount, adm_name):
    ret_status = False
    print "< case start: add group admin >"

    groupid = restHelper.get_groupid(testaccount, groupname)

    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    find_group(driver2, groupname)
    case_common.click_name(driver2, groupname)
    goto_groupinfo(driver2)

    elem = find_memberElement(driver1, adm_name)
    elem.click()
    add_admin(driver1)
    print "A added B as admin."
    sleep(5)

    mydic = get_group_roles(driver2)
    if adm_name in mydic["adminlist"]:
        ret_status = True
        print "B received +admin notice sucess!"
        print "< case end: pass >"
    else:
        print "B not receive +admin notice, fail!"
        print "< case end: fail >"

    case_common.back(driver2)
    sleep(1)
    case_common.back(driver2)
    sleep(1)
    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status
コード例 #30
0
def test_trans_owner(driver1, driver2, groupname, testaccount, adm_name):
    ret_status = False
    print "<case start: transfer owner >"

    groupid = restHelper.get_groupid(testaccount, groupname)

    case_common.gotoContact(driver1)
    case_common.gotoGroup(driver1)
    find_group(driver1, groupname)
    case_common.click_name(driver1, groupname)
    goto_groupinfo(driver1)

    case_common.gotoContact(driver2)
    case_common.gotoGroup(driver2)
    find_group(driver2, groupname)
    case_common.click_name(driver2, groupname)
    goto_groupinfo(driver2)

    # 操作:A从管理员列表里选中B,并设定为群主
    elem = find_adminElement(driver1, adm_name)
    elem.click()
    trans_owner(driver1)
    sleep(5)
    # 操作完成

    mydic = get_group_roles(driver2)
    if adm_name in mydic["owner"]:
        ret_status = True
        print "B received trans_owner notice sucess!"
        print "< case end: pass >"
    else:
        print "B not receive trans_owner notice, fail!"
        print "< case end: fail >"

    case_common.back(driver2)
    sleep(1)
    case_common.back(driver2)
    sleep(1)
    case_common.back(driver2)
    case_common.gotoConversation(driver2)

    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    sleep(1)
    case_common.back(driver1)
    case_common.gotoConversation(driver1)

    case_status[sys._getframe().f_code.co_name] = ret_status
    return ret_status