public static T javascript_VariableValue <T>(this WatiN_IE ie, string variableName)
        {
            var result = ie.javascript_VariableValue(variableName);

            if (result is T)
            {
                return((T)result);
            }
            return(default(T));
        }
Esempio n. 2
0
        public static WatiN_IE view_JavaScriptVariable_AsTreeView(this WatiN_IE ie, string rootVariableName)
        {
            var treeView = "Javascript variable: {0}".format(rootVariableName).popupWindow(500, 400).add_TreeView();

            Action <TreeNode, string> add_Object =
                (treeNode, objRef) => {
                var _jsObject = ie.getJsObject(objRef);
                if (_jsObject is IEnumerable)
                {
                    foreach (var item in _jsObject as IEnumerable)
                    {
                        treeNode.add_Node(item.comObject_TypeName(), item, true);
                    }
                }
                else
                {
                    treeNode.add_Node(_jsObject);
                }
            };

            treeView.beforeExpand <object>(
                (treeNode, _object) => {
                if (_object is IEnumerable)
                {
                    foreach (var item in _object as IEnumerable)
                    {
                        treeNode.add_Node(item.comObject_TypeName(), item, true);
                    }
                }
                else
                {
                    ie.setJsObject(_object);
                    foreach (var variableName in ie.javascript_ObjectItems("_jsObject"))
                    {
                        var variableValue = ie.javascript_VariableValue("_jsObject.{0}".format(variableName));
                        if (variableValue.typeFullName() == "System.__ComObject")
                        {
                            treeNode.add_Node(variableName, variableValue, true);
                        }
                        else
                        {
                            var nodeText = "{0}: {1}".format(variableName, variableValue);
                            //add_Object(treeNode, "_jsObject.{0}".format(item));
                            treeNode.add_Node(nodeText);
                        }
                    }
                }
            });

            add_Object(treeView.rootNode(), rootVariableName);
            return(ie);
        }
 public static object javascript_VariableValue(this WatiN_IE ie, string variableName, string propertyName)
 {
     return(ie.javascript_VariableValue("{0}.{1}".format(variableName, propertyName)));
 }