• 做外包最郁闷的就是客户想要怎么搞就得怎么搞,即使很傻 B

  • #5 楼 @monkey 澳洲不在你所说的 “国外” 范畴内,考算法的公司真心不多,要不然这边的印度人就都失业了。。。

  • 在澳村印度哥们最擅长的就是一天干 5 分钟的活,然后 standup 的时候说的跟自己干了 5 小时一样

  • #1 楼 @chenhengjie123 这次的确写的不够详细,我会在今天晚一点补上例子,因为写的有点着急。我先回答你前两个问题吧。

    1. object_map 是在一个单独文件中的,你看 object_dir_map 这个维护的就是这个文件所在的位置,其实这个就是一个很简单的动态加载的实现,我通过版本号找到需要加载的文件,这些文件名就在 object map 里面。但是如果把所有的对应关系放在一个文件里面我觉得会比较乱,所以我把不同的模块的对应关系放在了不同文件里,这个文件的位置就在 object_dir_map 里面维护的。
    2. env 其实就保存了所有我所需的环境变量,比如测试环境,web driver,版本号等等。
  • #3 楼 @chenhengjie123 这个还真是学习了,以前还真没用过 metaclass 这个 magic word

  • #1 楼 @lihuazhang 这个的目的是有的时候 frame 里套 frame,所以要依次 switch 进去。

  • 接口自动化思路 at 2015年05月27日

    #8 楼 @shijin880921

    1. 比如现在你要发送当天的日期,你就不能在 excel 里 hard code,但是你可以自己制定一个函数格式比如 ##get_date## 你在解析这个字段的时候替换成当天的日期。
    2. 其实你们可以考虑搭一个 bugfree,免费的。
    3. 现在如果你需要比较报文里的多个字段,那么你就需要写多个 assert,这样就会使 case 显得很凌乱,而且代码不能复用。但是如果你把你的业务逻辑和测试逻辑抽象出不同的对象,然后分别创建对应的类,然后把返回的报文依据格式 set 进对象里面。在你的 case 中就是比较两个对象,很清楚。而且你所创建的类还可以复用到其他类型的自动化中,因为整个系统的对象肯定是相同的,这样减少了你维护不同类型的用例的成本。
    4. 为了保证测试用例的独立性,最好使用干净的环境,创建所需要的数据,然后进行测试,测试完成后把环境还原。这样可以排除历史数据或者垃圾数据带来的问题。
  • 接口自动化思路 at 2015年05月27日
    1. 你的数据现在都是静态的,而有些 case 需要动态数据,可以用反射动态生成数据。
    2. 用 excel 管理不太利于共享,如果能和公司里用的 case 管理工具集成最好了。
    3. 可以考虑把返回的报文解析然后 set 到定义好的类中,然后比较两个类。
    4. 加入 setup 和 teardown。
    5. 用 junit 的 reporting。
  • #20 楼 @snake 可以用 xml 的方式定义结构,属性和默认值注入,按照 xml 里的节点 set attribute,这样不需要改代码就可以生成一个新的类,然后重写他的eq方法,这样就可以比较你想比较的字段。在 xml 中还可以反射方法,用来初始化。

  • 也考虑过用图像去做一些事,但是因为 UI 的改动频繁,而且受数据的影响,如果维护一个 base line 的成本也比较高,所以在收益上还是值得考虑的

  • 提两个小建议:

    1. 对于复杂的结构比较可以自己定义一个类,然后把你期待的值和返回的值都放到这个类对象中进行比较。这样的好处是可读性比较强,而且在你做其他 level 的测试时可以复用,比如 UI driven。
    2. 不知道你们用什么管理 case,其实用 excel 的方式也行,但是不利于统一管理和分享,可以考虑和 case 管理工具集合起来,这样如果有任何修改也不用在不同的地方进行反复修改了,而且任何人可以更新用例