• init sql 是在初始化的时候才要做的,如果你已经初始化过,就不要轻易去执行了,否则可能把你原来的数据给清掉
    可以对比下你的版本和最新的版本,看新增了什么 sql 语句需要执行的

  • 备份可以直接在数据库里做

  • 你是重新初始化了数据库吗? 或者看下 app/config.py 文件是否覆盖了,导致没连上数据库

  • 刚刚做了一个简单的实现,添加了一个复制方法:
    复制: 将某个元素的内容(value、text、innertext)复制填写到另一个元素中。
    刚刚已经提交到最新代码里了,可以更新下来看看。

    1. 更新 app/core/extend.py 文件
    2. 更新 init.sql, 执行最后新增的 sql
    3. 使用: 分别定位两个元素,获取后一个元素的值,并填入到前一个元素中。 如:复制 |id@@kw@@id@@su: 定位 id = su 的元素,获取元素的文字, 并写入到 id=kw 的元素中。 insert into `test_keyword` ( `keyword`, `paraCount`, `template`, `elementTemplate`, `example`, `description`, `status`) values('复制','4','extend.extend().copy_from_another_element(driver,[\"$para1\",\"$para2\"],[\"$para3\",\"$para4\"])','driver.element_by_$para1(\"$para2\")','复制|id@@kw@@id@@su','将后一个元素的内容复制填入到前一个元素中','1');
  • keyevent('BACK') 试下

  • airtest.core.api 下面好像也有 keyevent() 方法,可以试下能不能返回

  • 你的 driver 初始化了吗?

    看你引入的模块,是想 artist 和 appium 一起用?

  • QTP 那个链接好像已经打不开了

    话说现在还有人在研究和使用 QTP 相关技术吗?

  • 关于功能的疑问 at 2018年12月24日

    之前也想过这个问题:
    帖子评论里可以选择只对作者可见,但是作者回复时没办法选只对指定人可见

    这种情况就是使用于私信了

    1. 标题里一眼看到的形容词就是 “蠢、坏、毒瘤 ” , 这是讨论的正确姿势吗? 你试下用 “我觉得你的做法太笨了” 开头来给别人的方案提意见,看下会不会引发骂战。
      如果是讨论《“读表格” 来做参数化的自动化方式好不好》,那我觉得肯定意见是百花齐放,这里那么多实践过的同行都可以参与讨论,说不定收集全各种意见论坛里组织开发个大家都满意的工具出来,为行业造福。
      至于是不是大 V ,您可是写个专栏,出过书,办过培训班的大神,包括我在内的很多人都是看您的系列教程开始学习自动化,在这方面您对自己的影响力不会不知道吧?

    2. 至于我 “和稀泥” 的行为: 我的观点一直是: 每种工具都有适用范围,至少我碰到挺多同行都是偏好参数化数据驱动来组织测试用例的方式。存在即合理,您一上来就把这一类工具全部打上 “蠢、坏、毒瘤” 的标签,对这类工具的开发维护者来说都是不公平的。

    3. 包容是我提的,因为我觉得您缺少包容心。 工具的好坏不是黑白,是没办法客观分清的。

    4. 读题能力: 不是我读题能力不行,是您标题起得太有技巧性了。

    1. 我的话题偏了吗? 那请你用客观的描述把标题带回正轨。
    1. 用 “蠢、坏、毒瘤 ” 来作为标题党引发论战,作为大 V 的你不觉得掉份吗?
    2. 我从来没试图说服你,原因上面说了: 你在标题里用到 “蠢、坏、毒瘤 ”,已经是强烈情绪主观的表述,没有人能说服得了你。
    3. 既然你都叫我不要参与讨论你公开场所发的帖子, 那也就没必要和你讨论包容了。
    4. 最后纠正你一个逻辑错误: 这个帖子有一千多浏览,不代表 “至少这些人在用 excel 做自动化的时候会考虑一下我的观点和多一点思考” 。
  • 这种问题没有继续讨论下去的必要了。
    当你对某样事务的厌恶已达到了蠢、坏、毒瘤的程度,辩论已经不能说服你。

    其实人生来就是不同的,三观、信仰、习惯、思维。。。 正是因为有不同的思维,不同的尝试、试错、改进,我们现在才有现在越来越多美好的选择。

    前几天有个关于 “土壤” 的帖子也引起很多人讨论。 其实我觉得国内的测试行业的土壤,需要的是更多的包容。

  • 原来是没有的,是后来更新之后加上了

    1. 点你的头像进去没看到你说的三篇文章,能否给个链接我拜读一下? 2.对于 Excel,我的替代方案是用数据库保存,做成 web 页面来编写用例。这个方案对我来说很适用,但是对你来说可能很不适用,所以我觉得大家都有自己选择的权力。
    2. 两种方案我都没觉得不好,所以 “你觉得不好是你的问题!” 这句话我没法回答你。
  • 自动化测试不就是一个工具吗,有人爱折腾脚本,每个页面每个原素都在代码里维护;有人喜欢数据(原素属性或者用例步骤)和代码脚本分离,用更贴切测试用例的方式来管理用例。

    为什么测试圈里就这么强的鄙视链,我支持的就是最好,不支持的就是异类甚至毒瘤?

    我是支持关键字驱动的,而且用例用过 Excel 和 MySQL 管理,没觉得有什么不方便;但是也不妨碍我觉得 page object 的方式也很好,说不定下个项目有机会也尝试一下。

  • 这个文风和语气…… 感觉和印象中写自动化系列博客的虫师有点不一样

  • 申请开通

  • 之前在一两个小项目里用过一个框架,就是简单用 Excel 维护关键字驱动的测试用例。
    我的使用场景: 在客户现场的一台内网服务器, 简单部署了这个框架,在 Excel 里维护了大约一百多条用例。
    为啥不用数据库维护? 因为想做到资源最小化,因为现场的服务器只是一台 win pc,要是只为这个工具安装个数据库就太麻烦了;
    用例维护麻烦吗? 因为是小项目,只有自己在用,不存在多人读写 Excel 的问题; 而且 Excel 里复制用例、批量查找替换等功能其实挺方便。

  • 图片上传如果是 input 类型,可以试下 填写文件 方法
    弹框的选择看是什么类型,如果是 select 也可以用 选择 方法

  • 估计这些提问的人不会看到这个帖子……

  • {"method":"name","selector":"//*[@id="content"]/div/div/form/textarea"}

    方法是 name , 然后内容是 xpath ? 还是看看你代码吧

  • driver = webdriver.Chrome()
    driver.get('https://www.west.cn/domains/')
    driver.maximize_window()
    driver.find_element(by='name' ,value='searchedDomainName').send_keys('selenium')
    time.sleep(5)
    

    我试了一下,是可以正常输入的。

    要不把你的代码贴上来看看吧, 你的 click 定位方式和输入的定位方式都不一样

  • 看下你的语句是不是格式有问题,send keys 里的引号不是半角啊

  • 为什么我总是频繁跳槽? at 2018年12月18日

    看来网上传的 HR 过滤简历的规则在你身上不适用啊? 还是外包公司为了在银行里占位置已经完全顾不上这些了?

  • 我就觉得奇怪, 怎么我两篇没加精的帖子也被收录进来了 😂