zoukankan      html  css  js  c++  java
  • 定位元素锦集

    项目需要,对主要流程进行脚本自动化测试。在编写脚本的过程中,碰上一些特殊的元素,难以定位。在此,做个记录,方便日后总结。

    1.定位购物车中指定商品的数量

       原则上每个商品都对应一个数量控件,如果要想获取指定商品的数量,必须定位到指定商品的block,再定位该block的数量控件。

    有个注意的地方就是,该block必须同时包含该商品的标识元素与目标定位元素。

    amount: {    get: function () {        var result = browser.element("p=xxxxxxxxx")
                .element("..")
    .element("..")
    .element("..")
    .element(".input-numbox")
    return result.getValue();
    }
    }

    2.定位属性为visible的元素

    定位收货地址记录中带有【默认】标识的元素。其实每条地址记录都存在【默认】这个元素,只是display这个属性,设置为none了,没有显示出来。
    但是需求就是要定位可见的这个【默认】,而且它的位置不固定,因为可以人为激活其他记录的【默认】。
    定位思路一:
    定位这一类,然后通过filter
    对属性做筛选过滤。下面粘贴一段代码,是输出这个可见【默认】的元素个数。
    var defaultCount = 0;
    var result = browser.elements('.address-default').value.filter(function(item){
    if(browser.elementIdDisplayed(item.ELEMENT).value){
    console.log(defaultCount++);
    }
     定位思路二:
    通过foreach遍历每条记录的display属性。
    addressPage.default.value.forEach(function (item, i) {
     if (!browser.elementIdDisplayed(item.ELEMENT).value) {
    browser.elementIdClick(addressPage.edit.value[i].ELEMENT);
    }

    });
    定位思路三:
    通过cssproperty方法,输出display属性的值。
    browser.elementIdCssProperty(item.ELEMENT,'display')
     
  • 相关阅读:
    Aurora 数据库支持多达五个跨区域只读副本
    Amazon RDS 的 Oracle 只读副本
    Amazon EC2 密钥对
    DynamoDB 读取请求单位和写入请求单位
    使用 EBS 优化的实例或 10 Gb 网络实例
    启动 LAMP 堆栈 Web 应用程序
    AWS 中的错误重试和指数退避 Error Retries and Exponential Backoff in AWS
    使用 Amazon S3 阻止公有访问
    路由表 Router Table
    使用MySQLAdmin工具查看QPS
  • 原文地址:https://www.cnblogs.com/chaseHard/p/6027507.html
Copyright © 2011-2022 走看看