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')
     
  • 相关阅读:
    8.1.2 绑定Activity和Service
    8.1.1 Service的生命周期
    接收广播BroadcastReceiver
    Android Activity和Intent机制学习笔记
    Android开发笔记之:Handler Runnable与Thread的区别详解
    Android工程:引用另一个Android工程的方法详解
    android之内容提供者解析
    Android应用程序组件Content Provider的共享数据更新通知机制分析
    Red5实现直播
    轻松学习 red5 教程 像视频一样很详细还有代码直接可Copy
  • 原文地址:https://www.cnblogs.com/chaseHard/p/6027507.html
Copyright © 2011-2022 走看看