• 试下 selenium 的 select_by_index , 写个循环,逐个选择、查询

  • 内容输入失败 at 2018年04月09日

    是在一个新的 iframe 里面,试下先切换到这个 iframe 里
    driver.switch_to_frame(driver.find_element_by_id(id))

  • 把代码和报错信息贴出来才能帮你找原因

  • 内容输入失败 at 2018年04月09日

    看下这个 input 元素是不是有 readonly 的属性,有的话可以先去掉,例如:
    driver.execute_script("document.getElementById('id').removeAttribute('readOnly');")

  • 试下在 cmd 里执行。

  • 是直接在 cmd 命令行执行,还是在 ide 里执行?

  • python all_test.py 试下直接在命令行跑这个命令能否成功? python 版本是否正确?

  • 工作地点和待遇?

  • 意思是说明这行代码有问题,看下这个配置项是否配错了吧,例如 C:\123 这个目录是否有问题

  • 按你的代码跑了一下,如果加了 option.add_argument('--user-data-dir=C:\123') 这句,启动之后要等几秒才会跳到百度;如果注释掉这句,就很快跳到百度。
    可能是这里的问题,建议查一下。

  • 问题已解决 5 at 2018年03月15日

    你也自动传时间进去就可以了啊
    例如: event['create_time']=time.now() 类似这样加进去

  • 问题已解决 5 at 2018年03月15日

    字段没有设置默认值 看下表里这个字段是不是为空的,然后有没传值。
    或者把 sql 打印出来,手动执行看会不会报错

  • 感觉面试官想考察的是应聘者的总结、表达能力。确实有遇到过做了两三年的项目,却说不出项目是在做什么,或者条理说的很乱的应聘者。

  • 可以使用 jmeter 或者 loadrunner 录制一下相关的接口,简单压测一下。

  • 觉得挺有意思的题目,写不了一楼大神的代码,只能用最笨的做法来写:

    根据题干定义好 question1-10。用穷举法 组合出 10 道题的答案组合,然后对每个穷举的组合,和通过题干计算的答案组合是否匹配。
    跑一下脚本,结果是第 80009 种组合是正确答案: ['B', 'C', 'A', 'C', 'A', 'C', 'D', 'A', 'B', 'A'] 。答案与一楼大神的结果一致。

    def question1():
        return newanswerList[0]
    
    def question2():
        if newanswerList[4]=='A':
            return 'C'
        elif newanswerList[4]=='B':
            return 'D'
        elif newanswerList[4]=='C':
            return 'A'
        elif newanswerList[4]=='D':
            return 'B'
    
    def question3():
        list3 = [newanswerList[2],newanswerList[5],newanswerList[1],newanswerList[3]]
        answerList = ['A','B','C','D']
        i = 0
        j = 1
        contin = 1
        while (4-i) and (3-j) and contin:
            if list3[i]==list3[j]:
                i +=1
                j +=1
            elif list3[i]==list3[i+2]:
                return answerList[i+1]
            else:
                return answerList[i]
    
    
    def question4():
        list4 = [newanswerList[0]==newanswerList[4],newanswerList[1]==newanswerList[6],newanswerList[0]==newanswerList[8],newanswerList[5]==newanswerList[9]]
        answerList = ['A','B','C','D']
        for i in range(4):
            if list4[i]:
                return answerList[i]
                break
    
    
    def question5():
        list5 = [newanswerList[7],newanswerList[3],newanswerList[8],newanswerList[6]]
        answerList = ['A','B','C','D']
        for i in range(4):
            if list5[i]==answerList[i]:
                return answerList[i]
                break
    
    def question6():
        list6 = [[newanswerList[1],newanswerList[3]],[newanswerList[0],newanswerList[5]],[newanswerList[2],newanswerList[9]],[newanswerList[4],newanswerList[8]]]
        answerList = ['A','B','C','D']
        for i in range(4):
            if list6[i][0]==list6[i][0] and list6[i][0]==question8():
                return answerList[i]
                break
    
    def question7():
        list7 = [newanswerList[0],newanswerList[1],newanswerList[2],newanswerList[3],newanswerList[4],newanswerList[5],newanswerList[6],newanswerList[7],newanswerList[8],newanswerList[9]]
        answerList = ['A','B','C','D']
        countList = []
        for i in range(4):
            countList.append(list7.count(answerList[i]))
        for i in range(4):
            if countList[i]==min(countList):
                return answerList[i]
    
    
    def question8():
        list8 = [newanswerList[6],newanswerList[4],newanswerList[1],newanswerList[9]]
        answerList = ['A','B','C','D']
        for i in range(4):
            if abs(answerList.index(newanswerList[0])-answerList.index(list8[i]))>1:
                return answerList[i]
    
    def question9():
        list9 = [newanswerList[5],newanswerList[9],newanswerList[1],newanswerList[8]]
        answerList = ['A','B','C','D']
        for i in range(4):
            if (newanswerList[0]==newanswerList[5])!=(newanswerList[4]==list9[i]):
                return answerList[i]
    
    def question10():
        list7 = [newanswerList[0],newanswerList[1],newanswerList[2],newanswerList[3],newanswerList[4],newanswerList[5],newanswerList[6],newanswerList[7],newanswerList[8],newanswerList[9]]
        answerList = ['A','B','C','D']
        list1 = [3,2,4,1]
        countList = []
        for i in range(4):
            countList.append(list7.count(answerList[i]))
        diff = max(countList)-min(countList)
        if diff in list1:
            return answerList[list1.index(diff)]
    
    def compareResult(newanswerList):
        respectList = [question1(), question2(), question3(), question4(), question5(), question6(), question7(),
                       question8(), question9(), question10()]
        if None in respectList:
            return 0
        else:
            result = (respectList == newanswerList)
            if result:
                print('result is correct! ', newanswerList, respectList)
                return 1
            else:
                return 0
    
    
    
    resultList = ['A', 'B', 'C', 'D']
    answerList = [0,0,0,0,0,0,0,0,0,0]
    
    
    
    countA = 0
    k = 0
    newMod = 0
    for i in range(4**10):
        count = int(i/4)
        modCount = i%4
        j = 0
        answerList[0] = modCount
        while count :
            j +=1
            answerList[j]=count%4
            count = int(count/4)
        newanswerList = []
        for k in range(10):
            newanswerList.append(resultList[answerList[k]])
        if(compareResult(newanswerList)):
            print(newanswerList,i)
            break
    
    

  • 看下 appium 启动了吗? ip 对不对?

  • 你是要在节点上执行 java 代码? 抱歉,我刚刚理解有误。
    目前没这种使用需求,没研究过。

  • 用的 python,不过原理相类似,仅供参考:
    使用 selenium.webdriver.remote.webdriver.WebDriver 进行初始化, 要在某个 node 节点上操作,就传入该节点的 ip :

  • 我原文是 “搜索结果能增加排序功能” 搜索结果就是一个数据集合,在展示前对数据进行多一层排序处理,不冲突, 也没混淆概念吧?

  • 按时间筛选也可以满足部分需求。
    其实我是觉得可以提供一些排序规则给用户进行选择,比如按时间、回帖数量、热度数量等信息,来查看最新、最多人讨论、最热的帖子。

  • 大龄女青年的跳槽烦恼 at 2018年03月02日
    1. 测试和开发使用的语言不一定要一样的。 我们项目 Android、ios、web ,几个端使用的语言都不一样, 完全不影响我们用 python 搭建自动化、接口、性能测试框架。 测试代码和测试对象之间不存在语言相同的必要条件。
    2. 重要的是起步,不是说一步到位就把整套框架弄起来。可以先弄一套简单的用起来(例如用最简单的 unittest 管理用例),慢慢添加功能,慢慢改造、优化。
    3. 自动化、接口等等使用的工具,现在网上大把资料,真的没难到需要有人手把手教的地步。
    4. 还是看你决心有多大,自己都认为自己不行,做不了,那么永远发掘不了自己的潜力。
  • 搜索结果也可以有排序嘛

  • 大龄女青年的跳槽烦恼 at 2018年03月02日

    工作很轻松,说明是有空余时间,那为什么不自己把这些会的东西用到项目里去呢?
    不主动去实践,经验不会自动增加,而且领导很难,也不敢主动给毫无经验的你实践的机会 。


  • 检查一下 Capabilities 里配的版本号吧。 另外这个配置项可以试下配为空,这样切换不同测试机测试的时候不需要改对应的配置。