Пример #1
0
 private void Form1_Load(object sender, EventArgs e)
 {
     using (var browser = new WatiN.Core.IE("http://www.google.com"))
     {
         browser.TextField(WatiN.Core.Find.ByName("q")).TypeText("WatiN");
         browser.Button(WatiN.Core.Find.ByName("btnG")).Click();
     }
 }
Пример #2
0
        public Step(WatiN.Core.IE ie, awaDAL.DAL dal, int step_id)
        {
            if (step_id != -1)
            {
                Conditions = new ConditionCollection();
                ICondition newCondition = null;
                var        conditions   = dal.DB.condition.Where(row => row.step_id == step_id);
                foreach (var condition in conditions)
                {
                    if (condition.op.ToLower() == "none")
                    {
                        continue;
                    }

                    var condElm = dal.DB.element.SingleOrDefault(row => row.id == condition.lhs_element_id);
                    var auxElm  = dal.DB.element.SingleOrDefault(row => row.id == condition.rhs_element_id);
                    switch (ConditionBase.ConditionTypeEnum[condition.op])
                    {
                    case ConditionBase.ConditionType.CONTAINS:
                        newCondition = new ContainsCondition(condition.lhs_element_attr, dal, ie);
                        break;

                    case ConditionBase.ConditionType.EQUAL:
                        EqualityCondition.ComparisonAttribute cmpAttr = EqualityCondition.ComparisonAttribute.INNERTEXT;
                        if (condition.lhs_element_attr.ToLower() == "value")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.VALUE;
                        }
                        else
                        if (condition.lhs_element_attr.ToLower() == "class")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.CLASS;
                        }
                        else
                        if (condition.lhs_element_attr.ToLower() == "innerhtml")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.INNERHTML;
                        }
                        else
                        if (condition.lhs_element_attr.ToLower() == "name")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.NAME;
                        }
                        EqualityCondition eqCond = new EqualityCondition(cmpAttr, dal, ie);

                        eqCond.ConditionElement = new SiteObject(condElm.websiteRow.name, condElm.name);
                        newCondition            = eqCond;
                        break;

                    case ConditionBase.ConditionType.FALSE:
                        newCondition = new FalseCondition();
                        break;

                    case ConditionBase.ConditionType.NOT_EQUAL:
                        NotEqualityCondition.ComparisonAttribute ncmpAttr = NotEqualityCondition.ComparisonAttribute.INNERTEXT;
                        if (condition.lhs_element_attr.ToLower() == "value")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.VALUE;
                        }
                        else
                        if (condition.lhs_element_attr.ToLower() == "class")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.CLASS;
                        }
                        else
                        if (condition.lhs_element_attr.ToLower() == "innerhtml")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.INNERHTML;
                        }
                        else
                        if (condition.lhs_element_attr.ToLower() == "name")
                        {
                            cmpAttr = EqualityCondition.ComparisonAttribute.NAME;
                        }
                        var neqCond = new NotEqualityCondition(ncmpAttr, dal, ie);

                        neqCond.ConditionElement = new SiteObject(condElm.websiteRow.name, condElm.name);
                        newCondition             = neqCond;
                        break;

                    case ConditionBase.ConditionType.NOT_SELECETED:
                        newCondition = new NotSelectedCondition(condition.lhs_element_attr, dal, ie);
                        break;

                    case ConditionBase.ConditionType.NOT_VALUE:
                        newCondition = new NotValueCondition(condition.lhs_element_attr, dal, ie);
                        break;

                    case ConditionBase.ConditionType.SELECTED:
                        newCondition = new SelectedCondition(condition.lhs_element_attr, dal, ie);
                        break;

                    case ConditionBase.ConditionType.TRUE:
                        newCondition = new TrueCondition();
                        break;

                    case ConditionBase.ConditionType.VALUE:
                        newCondition = new ValueCondition(condition.lhs_element_attr, dal, ie);
                        break;
                    }
                }

                Conditions.Add(newCondition);

                Actions = new ActionCollection();
                var actions = dal.DB.action.Where(row => row.step_id == step_id);
                foreach (var action in actions)
                {
                    if (action.type.ToLower() == "none")
                    {
                        continue;
                    }
                    var        targetElm        = dal.DB.element.Single(row => row.id == action.target_id);
                    SiteObject targetSiteObject = new SiteObject(targetElm.websiteRow.name, targetElm.name);
                    IAction    newAction        = null;
                    if (action.type.ToLower() == "click")
                    {
                        newAction = new ClickAction(dal, ie, targetSiteObject);
                    }
                    else
                    if (action.type.ToLower() == "check")
                    {
                        newAction = new CheckAction(dal, ie, targetSiteObject);
                    }
                    else
                    if (action.type.ToLower() == "uncheck")
                    {
                        newAction = new UnCheckAction(dal, ie, targetSiteObject);
                    }
                    else
                    if (action.type.ToLower() == "type text")
                    {
                        newAction = new TypeAction(action.value, dal, ie, targetSiteObject);
                    }
                    else
                    if (action.type.ToLower() == "select")
                    {
                        newAction = new SelectAction(action.value, dal, ie, targetSiteObject);
                    }
                    if (action.type.ToLower() == "notify")
                    {
                        if (action.notifyMethod.ToLower() == "none")
                        {
                            continue;
                        }
                        NotifyAction.NotifyMethod method = NotifyAction.NotifyMethod.LOG;
                        if (action.notifyMethod.ToLower() == "email")
                        {
                            method = NotifyAction.NotifyMethod.EMAIL;
                        }
                        else
                        if (action.notifyMethod.ToLower() == "popup")
                        {
                            method = NotifyAction.NotifyMethod.POPUP;
                        }
                        newAction = new NotifyAction(method, dal, ie, targetSiteObject);
                    }
                    Actions.Add(newAction);
                }
            }
        }
Пример #3
0
 public ValueCondition(string value, awaDAL.DAL dal, WatiN.Core.IE ie) : base(dal, ie)
 {
     this.value = value;
 }
Пример #4
0
 public ConditionBase(awaDAL.DAL dal, WatiN.Core.IE ie)
 {
     this.DAL = dal;
     this.IE  = ie;
 }
Пример #5
0
 public NotSelectedCondition(string si, awaDAL.DAL dal, WatiN.Core.IE ie)
     : base(dal, ie)
 {
     selectedItem = si;
 }
Пример #6
0
 public CheckedCondition(awaDAL.DAL dal, WatiN.Core.IE ie)
     : base(dal, ie)
 {
 }
Пример #7
0
 public NotEqualityCondition(ComparisonAttribute attr, awaDAL.DAL dal, WatiN.Core.IE ie)
     : base(dal, ie)
 {
     this.ca = attr;
 }