{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":335156702,"defaultBranch":"0.8.6","name":"page-model-tools","ownerLogin":"pagemodel","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-02-02T03:26:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/78397250?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1641230279.24639","currentOid":""},"activityList":{"items":[{"before":"6343046c575e9e3c4f4527e0f2082bec57218d50","after":"5d11e62a1be5c931c8c9b41ebb9e734437b682e2","ref":"refs/heads/0.8.6","pushedAt":"2024-03-08T22:49:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Fixing elementTester.waitFor().click() to retry on click interception","shortMessageHtmlLink":"Fixing elementTester.waitFor().click() to retry on click interception"}},{"before":"ca0f1ec459248686e7b8b268d6749b88ff1a0674","after":"6343046c575e9e3c4f4527e0f2082bec57218d50","ref":"refs/heads/0.8.6","pushedAt":"2024-03-06T23:42:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Removing WebDriverManager dependency, Selenium includes SeleniumManager in 4.10\nChanges to FirefoxOptions loading from capabilities.\nAdding direct dependency on Gson, was brought in through WebDriverManager","shortMessageHtmlLink":"Removing WebDriverManager dependency, Selenium includes SeleniumManag…"}},{"before":"616156fa6957e8f3a64fb22f8d4a715355f40761","after":"ca0f1ec459248686e7b8b268d6749b88ff1a0674","ref":"refs/heads/0.8.6","pushedAt":"2024-03-06T01:41:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Update dependencies to latest\nAdding new WebElement methods in Selenium 4\nUpdating uses of WebDriverWait to use Durations\nChromeOptions no longer has setHeadless method\nDisable Opera browser for Selenium 4\nRemove use of withJansi in logback config","shortMessageHtmlLink":"Update dependencies to latest"}},{"before":"27b4d9e0d32d9693c8c1c5555cc6e419ca68b275","after":"616156fa6957e8f3a64fb22f8d4a715355f40761","ref":"refs/heads/0.8.6","pushedAt":"2024-03-04T03:12:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Breaking changes for SCP upload/download - now returns R returnObj instead of SSHConnectionTester - prevents being 'locked' in SSH testing after upload/download.\nadd scp failure test methods","shortMessageHtmlLink":"Breaking changes for SCP upload/download - now returns R returnObj in…"}},{"before":"97062a2c9ec5f1df16e94b7820135a72d2f767fc","after":"27b4d9e0d32d9693c8c1c5555cc6e419ca68b275","ref":"refs/heads/0.8.6","pushedAt":"2024-03-04T02:51:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"add scp failure test methods","shortMessageHtmlLink":"add scp failure test methods"}},{"before":"f7b7b9d8a110d1a6c5b088d7000faaf5d7aa0d0f","after":"97062a2c9ec5f1df16e94b7820135a72d2f767fc","ref":"refs/heads/0.8.6","pushedAt":"2023-10-19T07:39:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"n/a","shortMessageHtmlLink":"n/a"}},{"before":"412bd234460854510852ffb81060089c25094d5f","after":"f7b7b9d8a110d1a6c5b088d7000faaf5d7aa0d0f","ref":"refs/heads/0.8.6","pushedAt":"2023-09-22T20:32:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"working draft of fluent API design guide","shortMessageHtmlLink":"working draft of fluent API design guide"}},{"before":"57244b36391045f1529bf4229a5d7ca42932af2a","after":"412bd234460854510852ffb81060089c25094d5f","ref":"refs/heads/0.8.6","pushedAt":"2023-09-13T16:15:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"improve handling in waitFor().click()","shortMessageHtmlLink":"improve handling in waitFor().click()"}},{"before":"532f9e1dd8628b1d5354acfb1af084efe8b94473","after":"57244b36391045f1529bf4229a5d7ca42932af2a","ref":"refs/heads/0.8.6","pushedAt":"2023-08-03T23:22:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"NamedLocations and LocationGroups can be marked as text-only to produce an empty .md file instead of a screenshot","shortMessageHtmlLink":"NamedLocations and LocationGroups can be marked as text-only to produ…"}},{"before":"4e842faa95fbb2de426e8c45b095fee1d1898324","after":"532f9e1dd8628b1d5354acfb1af084efe8b94473","ref":"refs/heads/0.8.6","pushedAt":"2023-08-03T22:22:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"add LocationGroup apply method to use consumer to build\nadd LocationGroupsTester to build and manage a list of groups\nadd PointTester.extend as short for asRectangle.extend\nRectangleTester add method to get center point, extendWidth and extendHeight","shortMessageHtmlLink":"add LocationGroup apply method to use consumer to build"}},{"before":"03d3704b7c940ab20c1d64602ed313ff3ac8f2a5","after":"4e842faa95fbb2de426e8c45b095fee1d1898324","ref":"refs/heads/0.8.6","pushedAt":"2023-07-16T00:35:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"recursively set page for nav location and children","shortMessageHtmlLink":"recursively set page for nav location and children"}},{"before":"aa7113cdd4a0e14399f7a7575bbff1b419effafd","after":"03d3704b7c940ab20c1d64602ed313ff3ac8f2a5","ref":"refs/heads/0.8.6","pushedAt":"2023-07-16T00:08:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"fix logging","shortMessageHtmlLink":"fix logging"}},{"before":"a9d2ef0c7fee3fbd21f6f24dba3aa88092e16cb3","after":"aa7113cdd4a0e14399f7a7575bbff1b419effafd","ref":"refs/heads/0.8.6","pushedAt":"2023-07-15T23:09:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"padding typo fix","shortMessageHtmlLink":"padding typo fix"}},{"before":"db98fb81c583b2c57795e52172916504518abe75","after":"a9d2ef0c7fee3fbd21f6f24dba3aa88092e16cb3","ref":"refs/heads/0.8.6","pushedAt":"2023-07-15T22:05:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"widening type bounds for HasPageBounds funcs","shortMessageHtmlLink":"widening type bounds for HasPageBounds funcs"}},{"before":"27eb6dc628a73eed55b7bbaa871a59c23eefa3c7","after":"db98fb81c583b2c57795e52172916504518abe75","ref":"refs/heads/0.8.6","pushedAt":"2023-07-15T21:20:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"refactor padding to take varargs int array handled the same as css: top, right, bottom, left\nrefactor rectangle extension methods to wrap the previous tester ref and delay execution\ntesting adding names to testers, lmay be removed","shortMessageHtmlLink":"refactor padding to take varargs int array handled the same as css: t…"}},{"before":"7cf03db2ce2d05604ef43879829a37e0d8a6c252","after":"27eb6dc628a73eed55b7bbaa871a59c23eefa3c7","ref":"refs/heads/0.8.6","pushedAt":"2023-07-13T04:43:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"fix screenshot saving and logging\nRectangle padding null check\nCreating PageBoundsHelper to access getBounds methods","shortMessageHtmlLink":"fix screenshot saving and logging"}},{"before":"cbf7f061bf4c87d6b8fc4ad3cbb6907671b45633","after":"7cf03db2ce2d05604ef43879829a37e0d8a6c252","ref":"refs/heads/0.8.6","pushedAt":"2023-06-30T00:22:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Avoid saving initial edit screenshot, add as base64 to html report\nRefactor common rectangle and screenshot methods","shortMessageHtmlLink":"Avoid saving initial edit screenshot, add as base64 to html report"}},{"before":"81639c5d14c95bb22e728be6a9144ee60468791b","after":"cbf7f061bf4c87d6b8fc4ad3cbb6907671b45633","ref":"refs/heads/0.8.6","pushedAt":"2023-06-30T00:13:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Avoid saving initial edit screenshot, add as base64 to html report\nRefactor common rectangle and screenshot methods","shortMessageHtmlLink":"Avoid saving initial edit screenshot, add as base64 to html report"}},{"before":"898997f6e309116d297a440b4b17f1923b2f79e4","after":"81639c5d14c95bb22e728be6a9144ee60468791b","ref":"refs/heads/0.8.6","pushedAt":"2023-06-29T22:16:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"ImageAnnotator takes image origin for cropped screenshots and translates back to the page origin by default for page locations to continue to work.\nresetOrigin will switch between page and image origins.","shortMessageHtmlLink":"ImageAnnotator takes image origin for cropped screenshots and transla…"}},{"before":"e969806c3bd2576c4917835673b5836c3c126779","after":"898997f6e309116d297a440b4b17f1923b2f79e4","ref":"refs/heads/0.8.6","pushedAt":"2023-06-29T21:32:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"PointTester to RectangleTester methods\nImageAnnotator chain escape methods","shortMessageHtmlLink":"PointTester to RectangleTester methods"}},{"before":"05aea6a3069be0cedb20229bb62cf83c720cb996","after":"e969806c3bd2576c4917835673b5836c3c126779","ref":"refs/heads/0.8.6","pushedAt":"2023-06-29T17:45:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"TestContext add containsKey method\nHelper to find offset between browser size and view size\nPageTester methods for testing arbitrary locations\nImprove rectangle padding, add extend x,y\nImageAnnotator use Graphics2D to set stroke and background","shortMessageHtmlLink":"TestContext add containsKey method"}},{"before":"d0f496c48ff22e9061d2653427bbaa18094e29c8","after":"05aea6a3069be0cedb20229bb62cf83c720cb996","ref":"refs/heads/0.8.6","pushedAt":"2023-06-29T02:36:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Add PageTester.testLocation methods to test a location on the page","shortMessageHtmlLink":"Add PageTester.testLocation methods to test a location on the page"}},{"before":"7af40015e24460776bda5790a76f4efb10383b32","after":"d0f496c48ff22e9061d2653427bbaa18094e29c8","ref":"refs/heads/0.8.6","pushedAt":"2023-06-29T01:06:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"create abstract class HasPageBounds to have a common way of getting a Rectangle from a WebElementTester, RectangleTester, or PointTester.\nOverload RectangleTester.extend and ImageAnnotator.draw* to take a function page->HasPageBounds in place of a Rectangle, can use lambda->Element instead of saving/loading from context.\n\n.testPage().editScreenshot()\n.setColor(Color.RED)\n.drawRect(page -> page.testAddButton().location().pad(10))\n.drawText(\"1\", page -> page.testAddButton().location().bottomLeft())\n.drawRect(p -> p.testViewModeSelect().location()\n\t\t.extend(page -> page.testColumnsOpenButton())\n\t\t.extend(page -> page.testMapOpenButton())\n\t\t.extend(page -> page.testFiltersOpenButton())\n\t\t.pad(10))\n.drawText(\"2\", page -> page.testViewModeSelect().location().bottomLeft())\n.save(\"modified\")","shortMessageHtmlLink":"create abstract class HasPageBounds to have a common way of getting a…"}},{"before":"aaefb306b620818cd6d5ecccffae62e4967f37f3","after":"7af40015e24460776bda5790a76f4efb10383b32","ref":"refs/heads/0.8.6","pushedAt":"2023-06-28T23:44:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Adding ImageAnnotator to draw shapes and text on an image and save it.\nAdded editScreenshot methods to PageTester and RectangleTester to take a screenshot and return an ImageAnnotator.\nUseful for automating screenshot capturing and annotating to generate documentation.","shortMessageHtmlLink":"Adding ImageAnnotator to draw shapes and text on an image and save it."}},{"before":"79e74ad33fc6e0c48dd545a45b83e4d371fc705d","after":"aaefb306b620818cd6d5ecccffae62e4967f37f3","ref":"refs/heads/0.8.6","pushedAt":"2023-06-28T22:02:05.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"Add takeScreenshot method with WebElementTester, will take a screenshot of the given element, can specify a padding in pixels to include around the element.\n\nAdd takeScreenshot method to RectangleTester to take a screenshot of a given rectangle, can specify padding to include around the rectangle.\n\nAdd storeValue method to PointTester and RectangleTester to save element locations to context.\n\nAdd RectangleTester.includes(...), it will extend the current rectangle to include the given Rectangle or Point. Can be used to find the rectangle containing multiple elements to take a cropped screenshot of just those. Useful for automating screenshots for documentation.","shortMessageHtmlLink":"Add takeScreenshot method with WebElementTester, will take a screensh…"}},{"before":"4f3ddc93bf81d10a9ba8a60c9ce53a181762fa82","after":"79e74ad33fc6e0c48dd545a45b83e4d371fc705d","ref":"refs/heads/0.8.6","pushedAt":"2023-04-01T01:28:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"comments","shortMessageHtmlLink":"comments"}},{"before":"6990a1ad4c98da8b52d59916231bf91d7d06cd90","after":"4f3ddc93bf81d10a9ba8a60c9ce53a181762fa82","ref":"refs/heads/0.8.6","pushedAt":"2023-03-31T23:58:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"comments","shortMessageHtmlLink":"comments"}},{"before":"9951aa90b3fc4e2ff04f0e8aa62383c1273400d7","after":"6990a1ad4c98da8b52d59916231bf91d7d06cd90","ref":"refs/heads/0.8.6","pushedAt":"2023-03-31T22:34:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"comments","shortMessageHtmlLink":"comments"}},{"before":"7821bd5c9e84b415df6457f54a81acef447dc995","after":"9951aa90b3fc4e2ff04f0e8aa62383c1273400d7","ref":"refs/heads/0.8.6","pushedAt":"2023-03-31T21:41:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matt-stevenson","name":null,"path":"/matt-stevenson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1117794?s=80&v=4"},"commit":{"message":"comments","shortMessageHtmlLink":"comments"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEEJ4ijwA","startCursor":null,"endCursor":null}},"title":"Activity · pagemodel/page-model-tools"}