哇哦如何显示无敌class

Watin. how to show invinsible class

HTML代码:

<div class="col-sm-9">
<input name="NewCardOrAccountNumber" class="form-control ui-autocomplete-input" id="NewCardOrAccountNumber" type="text" value="" autocomplete="off">
<span class="ui-helper-hidden-accessible" role="status" aria-live="polite"></span>
</div>
<div class="unvisible" id="clientInfoNew">

                        <div class="form-group">
                            <label class="col-sm-3 control-label">FIRST NAME</label>
                            <div class="col-sm-9" id="FnameNew"></div>
                        </div>

                        <div class="form-group">
                            <label class="col-sm-3 control-label">LAST NAME</label>
                            <div class="col-sm-9" id="LnameNew"></div>
                        </div>

                        <div class="form-group">
                            <label class="col-sm-3 control-label">BIRTH DATE</label>
                            <div class="col-sm-9" id="BirthDateNew"></div>
                        </div>

华廷代码:

[TestMethod]
    [TestCategory("Rimi Change card page")]

    public void Rimi_4444_Change_Card_and_Assert()
    {

        //Web Address
        using (IE ie = new IE(this.Rimi))
        {
            //IE ie = new IE(RimiChangeCard);
            ie.BringToFront();
            ie.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.Maximize);
            ie.TextField(Find.ById("NewCardOrAccountNumber")).TypeText("9440385200600000020");

如果我用键盘输入卡号,会出现看不见的class,你可以看到FIRST NAME,LAST NAME等等。但如果我用 watin 这样做,它不会出现,你只会看到你输入的卡号。它就像隐藏的信息字段。我不知道如何让我在输入卡号时可以看到这些字段。

会有一个Java脚本函数,当您通过同一页面上的Java脚本函数在文本field.Go中手动输入数据时会执行该函数,该函数引用该元素使用它的 ID NewCardOrAccountNumber.

请参阅 this link 示例应用程序。其中 msg_to 是元素,并且关联了一个 KeyUp 事件。当该字段获得 , 值时,将有一个 div 部分,其中显示“主题”字段。

同样,执行TypeText后,尝试使用Java脚本执行触发Java脚本事件中提到的相关事件。

编辑:我看到 javascript 函数在 bulr 事件触发后执行。这意味着文本框字段应该失去焦点。尝试以下选项。

// 1.  Try focusing out of control.
ie.TextField(Find.ById("NewCardOrAccountNumber")).TypeText("9440385200600000020");
ie.TextField(Find.ById("OldCardOrAccountNumber")).Click();
ie.WaitForComplete();

// 2. Try Using Send Keys method to tab out.
ie.TextField(Find.ById("NewCardOrAccountNumber")).TypeText("9440385200600000020");
System.Windows.Forms.SendKeys.SnedWait("{TAB}"); // Need to add System.Windows.Forms reference to the project.

我把图片放在了互联网上,所以点击这个 link Image 你会在第一张图片上看到页面的外观,第二张图片 - 当你输入卡号时会发生什么(来自键盘),第三 - 当从 watin 输入卡名时会发生什么(不显示有关卡的信息)。

HTML代码:

<div class="ibox-content">
        <br>
        <div class="form-horizontal">
            <div class="row">
                <div class="col-md-5">

                    <div class="form-group">
                        <label class="col-sm-3 control-label">NEW CARD</label>
                        <input name="NewCardId" id="NewCardId" type="hidden" value="0" data-val-required="The NewCardId field is required." data-val-number="The field NewCardId must be a number." data-val="true">
                        <div class="col-sm-9"><span class="ui-helper-hidden-accessible" role="status" aria-live="polite"></span><input name="NewCardOrAccountNumber" class="form-control ui-autocomplete-input" id="NewCardOrAccountNumber" type="text" value="" autocomplete="off"></div>
                    </div>

                    <div class="unvisible" id="clientInfoNew">

                        <div class="form-group">
                            <label class="col-sm-3 control-label">FIRST NAME</label>

我可能找到你要找的Sham,但我不知道如何使用它:

<script type="text/javascript">

    $(document).ready(function() {

        var NewCardId = "#NewCardId";
        var OldCardId = "#OldCardId";
        var NewCardNumber = "#NewCardOrAccountNumber";
        var OldCardNumber = "#OldCardOrAccountNumber";



        $(NewCardNumber).autocomplete(
        {
            source: function(request, response) {

                $.ajax({
                    url: '/LoyaltyWebApplication/Suggestion/GetCardSuggestions',
                    dataType: "json",
                    data: {
                        str: $(NewCardNumber).val()
                    },
                    success: function(data) {
                        response($.map(data, function(item) {
                            var label = "";
                            if (item.Fname != null) label += item.Fname;
                            if (item.Lname != null) label += " " + item.Lname;
                            if (label.trim() != '') label = " (" + label.trim() + ")";
                            return {
                                value: item.CardNumber,
                                label: item.CardNumber + label
                            }
                        }));
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(xhr.status);
                        alert(thrownError);
                    }
                });
            },
            select: function(event, ui) {
                getCardDetails($(NewCardNumber), $(NewCardId), 'newCardSegments', true);
                $("#newCardSegments").hide();
                $("#clientInfoNew").show();
            },
            minLength: 2
        }).blur(function() {
            getCardDetails($(NewCardNumber), $(NewCardId), 'newCardSegments', true);
        });

        $(OldCardNumber).autocomplete(
        {
            source: function(request, response) {
                $.ajax({
                    url: '/LoyaltyWebApplication/Suggestion/GetCardSuggestions',
                    dataType: "json",
                    data: {
                        str: $(OldCardNumber).val()
                    },
                    success: function(data) {
                        response($.map(data, function(item) {
                            var label = "";
                            if (item.Fname != null) label += item.Fname;
                            if (item.Lname != null) label += " " + item.Lname;
                            if (label.trim() != '') label = " (" + label.trim() + ")";
                            return {
                                value: item.CardNumber,
                                label: item.CardNumber + label
                            }
                        }));
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(xhr.status);
                        alert(thrownError);
                    }
                });
            },
            select: function(event, ui) {
                getCardDetails($(OldCardNumber), $(OldCardId), 'oldCardSegments', false);
                $("#oldCardSegments").hide();
            },
            minLength: 2
        }).blur(function() {
            getCardDetails($(OldCardNumber), $(OldCardId), 'oldCardSegments', false);
        });

        function getCardDetails(cardNumHolder, cardIdHolder, segmentTablePlace, isNew) {
            $.getJSON('/LoyaltyWebApplication/LOV/SetId?lovType=ReplacementLOV&lovValue=' + cardNumHolder.val(), null,
                function(data) {
                    $("#clientInfo" + ((isNew) ? "New" : "Old")).show();
                    if (cardNumHolder.val() == '') {
                        return;
                    }
                    var i;
                    for (i = 0; i < data.otherNames.length; i++) {
                        $("#" + data.otherValues[i] + (isNew ? "New" : "Old")).text(data.otherNames[i]);
                    }
                    cardIdHolder.val(data.Id);
                    $.getJSON('/LoyaltyWebApplication/Replacement/ClientSegmentsList?clientId=' + data.Id + "&no_cache=" + Math.random, function(data) {
                        $("#" + segmentTablePlace).find('tbody').empty();
                        if (data.length > 0) {
                            $.each(data, function(index) {
                                $("#" + segmentTablePlace).find('tbody').append("<tr><td>" + data[index].SegmentCode + "</td><td>" + data[index].SegmentName + "</td></tr>");
                            });
                            $("#" + segmentTablePlace).show();
                        }
                    });
                });
        }

        $("#resetVal").click(function() {

            $("#NewCardOrAccountNumber").attr("value", "");
            $("#NewCardOrAccountNumber").val("");

            $("#NewCardId").attr("value", "");
            $("#NewCardId").val("");

            $("#clientInfoNew").hide();

            $("#OldCardOrAccountNumber").attr("value", "");
            $("#OldCardOrAccountNumber").val("");

            $("#OldCardId").attr("value", "");
            $("#OldCardId").val("");

            $("#clientInfoOld").hide();

            return false;

        });

    });
</script>