来自JScript的Xpath

时间:2016-03-26 19:16:04

标签: javascript selenium xpath

我是Selenium的新手,我想知道当HTML标记中没有显示任何值时,如何加载文本框的值:

<input type="text" name="qty" id="qty" maxlength="5" value="" title="Qty" class="quantity-input qty" 

还是从jscript获取数据?

<script type="text/javascript">
    jQuery(document).on('click','.quantity-plus',function(){
        var qty = jQuery.trim(jQuery('#qty').val());
        if(qty < 99999)
        {   
        var moq = jQuery('input[name=opinions]:checked').attr('data-moq');
        var incrementquantity = jQuery('input[name=opinions]:checked').attr('data-incrementquantity');
        var incrementmode = jQuery('input[name=opinions]:checked').attr('data-incrementmode');
        var qty = jQuery.trim(jQuery('#qty').val());
        jQuery('.moqerror').html('');
        if(Number(qty) >= Number(moq) && parseInt((qty-moq)%incrementquantity) == 0)
        {
            var newqty = parseFloat( parseFloat(qty) + parseFloat(incrementquantity));
            jQuery('#qty').val(newqty);
            updateEstimatePrice();
        }

1 个答案:

答案 0 :(得分:2)

从脚本中。 val()

正在设置value属性
var newqty = parseFloat( parseFloat(qty) + parseFloat(incrementquantity));
jQuery('#qty').val(newqty);

我很困惑为什么你在问题的标题中有'XPath',这让我觉得我误解了一些东西。

编辑:关于Selenium的问题:

所以这似乎有点开放 - 但我会告诉你我将如何做到这一点:

Prerequistes:

  1. Jasmine测试框架
  2. promises
  3. webdriverjs的control flow using promises
  4. 角度量角器uses promises
  5. 假设您对此表示满意:

    首先,使用量角器设置Selenium(这是一项大任务)然后你可以这样做(未经测试):

    describe("Checking selectall, ", function() {
      it("exists,", function() {
        var qty = element(By.css('input#qty'));
        expect(browser.isElementPresent(qty)).toEqual(true);
        it("clicks loads with a value", function() {
          qty.getAttribute("value").then(function(data) {
              return console.log("qty.value", data);
            });
          });
        });
      });
    });