コード例 #1
0
        void SearchTermTextBoxTextChanged(object sender, EventArgs e)
        {
            ElementSearcher srch       = new ElementSearcher();
            string          searchWord = SearchTermTextBox.Text;

            if (searchWord.Length <= 0)
            {
                listView1.Items.Clear();
                return;
            }


            List <ElementSearchItem> results = new List <ElementSearchItem>();

            if (searchWord.Length > 1 && "{".Equals(searchWord.Substring(0, 1)))
            {
                ElementSearchItem element = srch.findByGuid(searchWord);
                results.Add(element);
            }
            else
            {
                results = srch.findByKeyword(searchWord);
            }

            listView1.Items.Clear();

            foreach (ElementSearchItem elem in results)
            {
                ListViewItem item = new ListViewItem(getStringArrayFromVO(elem));
                item.Tag = elem;
                listView1.Items.Add(item);
            }
        }
コード例 #2
0
        private static RequestManager InitRequestManager(SessionManager sessionManager, IOverlay overlay)
        {
            var    context      = new DriverContext();
            var    manager      = new RequestManager(sessionManager);
            var    utils        = new Utils();
            var    winUserWrap  = new WinUserWrap();
            var    keyboard     = new Keyboard(new KeyboardWrap(), new KeyInteropWrap(), winUserWrap);
            IMouse mouse        = new Mouse(winUserWrap);
            var    wireKeyboard = new WireKeyboard(keyboard);

            // TODO circular dependency, bad smell?
            IUIAutomation   uiAutomation   = new UIAutomation();
            IElementFactory elementFactory = new ElementFactory();

            ((UIAutomation)uiAutomation).SetElementFactory(elementFactory);
            ((ElementFactory)elementFactory).SetUIAutomation(uiAutomation);
            IElementSearcher elementSearcher = new ElementSearcher(uiAutomation, elementFactory);

            var uacHandler    = new UACPromptHandler(uiAutomation, keyboard);
            var windowFactory = new WindowFactory(uiAutomation, keyboard, winUserWrap);
            var windowUtils   = new WindowUtils(uiAutomation, windowFactory);

            manager.AddHandler(new ActiveElementHandler(uiAutomation, overlay));
            manager.AddHandler(new ButtonUpHandler(mouse));
            manager.AddHandler(new ButtonDownHandler(mouse));
            manager.AddHandler(new ClearTextHandler(elementFactory));
            manager.AddHandler(new ClickElementHandler(mouse, overlay, elementFactory));
            manager.AddHandler(new ClickHandler(mouse));
            manager.AddHandler(new CloseWindowHandler(windowUtils));
            manager.AddHandler(new DeleteSessionHandler(sessionManager));
            manager.AddHandler(new DoubleClickHandler(mouse));
            manager.AddHandler(new FindElementHandler(uiAutomation, overlay, elementFactory, elementSearcher));
            manager.AddHandler(new FindElementsHandler(uiAutomation, overlay, elementFactory, elementSearcher));
            manager.AddHandler(new GetElementAttributeHandler(elementFactory));
            manager.AddHandler(new GetElementLocationHandler(elementFactory));
            manager.AddHandler(new GetElementLocationInViewHandler(elementFactory));
            manager.AddHandler(new GetElementSizeHandler(elementFactory));
            manager.AddHandler(new GetElementTagNameHandler());
            manager.AddHandler(new GetElementTextHandler());
            manager.AddHandler(new GetCurrentWindowHandler(uiAutomation));
            manager.AddHandler(new GetSourceHandler(uiAutomation));
            manager.AddHandler(new GetTitleHandler(uiAutomation));
            manager.AddHandler(new GetWindowLocationHandler(windowFactory, windowUtils));
            manager.AddHandler(new GetWindowsHandler(windowUtils));
            manager.AddHandler(new GetWindowSizeHandler(windowFactory, windowUtils));
            manager.AddHandler(new ImplicitWaitHandler());
            manager.AddHandler(new IsElementDisplayedHandler());
            manager.AddHandler(new IsElementEnabledHandler());
            manager.AddHandler(new IsElementSelectedHandler());
            manager.AddHandler(new MoveToHandler(mouse, overlay, elementFactory));
            manager.AddHandler(new NewSessionHandler(context, sessionManager, uacHandler, utils));
            manager.AddHandler(new SameElementHandler());
            manager.AddHandler(new ScreenshotHandler());
            manager.AddHandler(new SendKeysHandler(wireKeyboard));
            manager.AddHandler(new SetElementValueHandler(wireKeyboard, elementFactory));
            manager.AddHandler(new SwitchToWindowHandler(uiAutomation, windowFactory, windowUtils));

            return(manager);
        }
コード例 #3
0
        public ArtifactAsciidocWriter(string asciidocDir)
        {
            string dbFilePath = ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().dbName;

            this.elementSearcher = new ElementSearcher(dbFilePath);
            this.connSearcher    = new ConnectorSearcher(dbFilePath);

            this.asciidocDir = asciidocDir;

            // Asciidoc出力フォルダの存在チェック&無ければ作成
            makeAsciidocDirIfNotExist(asciidocDir);
        }
コード例 #4
0
        private static void outputConnDestClass(string objGuid, ElementSearcher elemSrch, Dictionary <string, ElementSearchItem> nameHash, StreamWriter sw)
        {
            ElementSearchItem elemSrcItem = elemSrch.findByGuid(objGuid);

            if (elemSrcItem != null)
            {
                string identifiedName = filterSpecialChar(elemSrcItem.elemName);
                if (!nameHash.ContainsKey(identifiedName))
                {
                    sw.WriteLine("class \"" + identifiedName + "\" " + getStereotypeStr(elemSrcItem.elemStereotype) + " {");
                    sw.WriteLine("}");
                    nameHash.Add(identifiedName, elemSrcItem);
                }
            }
        }
コード例 #5
0
        public int GoldenMiddleTest(double[] array)
        {
            var searcher = new ElementSearcher();

            return(searcher.GoldenMiddle(array));
        }
コード例 #6
0
ファイル: Page.cs プロジェクト: quilin/dm-auto-testing-core
 public void Initialize(IWebDriver webDriver, IBrowser browser)
 {
     WebDriver       = webDriver;
     Browser         = browser;
     elementSearcher = new ElementSearcher(webDriver, this, webDriver);
 }
コード例 #7
0
        private static void writePlantUml(ElementVO element, StreamWriter sw)
        {
            sw.WriteLine("");
            // sw.WriteLine("[plantuml, images/" + element.guid.Substring(1,8) + ", svg]");
            sw.WriteLine("[plantuml, img-" + element.guid.Substring(1, 13) + ", png]");
            sw.WriteLine("--");
            sw.WriteLine("@startuml");

            sw.WriteLine("class \"" + filterSpecialChar(element.name) + "\" " + getStereotypeStr(element.stereoType) + " {");

            if (element.attributes != null)
            {
                foreach (AttributeVO attr in element.attributes)
                {
                    sw.WriteLine("  " + getVisibilitySymbol(attr.visibility) + " " + attr.name + "");
                }
            }

            if (element.methods != null)
            {
                foreach (MethodVO mth in element.methods)
                {
                    sw.WriteLine("  " + getVisibilitySymbol(mth.visibility) + " " + mth.name + "()");
                }
            }

            sw.WriteLine("}");

            ElementSearcher elemSrch = new ElementSearcher();

            // DBからこの要素につながっている接続情報を取得
            ConnectorSearcher  searcher = new ConnectorSearcher();
            List <ConnectorVO> conns    = searcher.findByObjectGuid(element.guid);

            Dictionary <string, ElementSearchItem> nameHash = new Dictionary <string, ElementSearchItem>();

            List <ConnectorVO> srcConnList  = new List <ConnectorVO>();
            List <ConnectorVO> destConnList = new List <ConnectorVO>();

            foreach (ConnectorVO cn in conns)
            {
                if (cn.srcObjGuid == element.guid)
                {
                    srcConnList.Add(cn);
                    outputConnDestClass(cn.destObjGuid, elemSrch, nameHash, sw);
                }

                if (cn.destObjGuid == element.guid)
                {
                    destConnList.Add(cn);
                    outputConnDestClass(cn.srcObjGuid, elemSrch, nameHash, sw);
                }
            }


            for (var i = 0; i < srcConnList.Count; i++)
            {
                outputSrcConnectLine(srcConnList[i], sw);
            }

            for (var i = 0; i < destConnList.Count; i++)
            {
                outputDestConnectLine(destConnList[i], sw);
            }

            sw.WriteLine("@enduml");
            sw.WriteLine("--");
            sw.WriteLine("");
        }
コード例 #8
0
ファイル: Page.cs プロジェクト: quilin/dm-auto-testing
 public void Initialize(IPageAdapter pageAdapter, IBrowser browser)
 {
     page            = pageAdapter;
     Browser         = browser;
     elementSearcher = new ElementSearcher(page.ElementLocator);
 }
コード例 #9
0
 public Component(IWebElement element, IWebDriver webDriver) : base(element, webDriver)
 {
     elementSearcher = new ElementSearcher(element, this, webDriver);
 }
コード例 #10
0
ファイル: Component.cs プロジェクト: quilin/dm-auto-testing
 public Component(
     IElementAdapter element
     ) : base(element)
 {
     searcher = new ElementSearcher(element.ElementLocator);
 }