)]}'
{"horizon/test/webdriver.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b13e258a69b4c4291362e5457bf88b7a90839ca8","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        # we need his position in the returned list"},{"line_number":71,"context_line":"        self.index \u003d index"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def reload_request(self, locator, index\u003dNone):"},{"line_number":74,"context_line":"        try:"},{"line_number":75,"context_line":"            # element was found out via find_elements"},{"line_number":76,"context_line":"            if index is not None:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_82f843c4","side":"PARENT","line":73,"updated":"2019-02-09 22:47:06.000000000","message":"Why can you drop reload_request safely? Could you explain the detail?","commit_id":"673bf049a0186dbd9f1653e04261442f5c7fa551"},{"author":{"_account_id":23625,"name":"Nicolas Helgeson","email":"nh202b@att.com","username":"nhelgeson"},"change_message_id":"1f7e39fe43049324553eadc60981591b7ff51478","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        # we need his position in the returned list"},{"line_number":71,"context_line":"        self.index \u003d index"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def reload_request(self, locator, index\u003dNone):"},{"line_number":74,"context_line":"        try:"},{"line_number":75,"context_line":"            # element was found out via find_elements"},{"line_number":76,"context_line":"            if index is not None:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_348d03d3","side":"PARENT","line":73,"in_reply_to":"9fdfeff1_82f843c4","updated":"2019-02-11 18:50:57.000000000","message":"This code is not being used by anything. The reload_request being called is from the below class \"WebDriverWrapper\"","commit_id":"673bf049a0186dbd9f1653e04261442f5c7fa551"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b13e258a69b4c4291362e5457bf88b7a90839ca8","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # exception, because driver.implicitly_wait delegates this to browser."},{"line_number":100,"context_line":"        # Just we need to catch StaleElement exception, reload chain of element"},{"line_number":101,"context_line":"        # parents and then to execute command again."},{"line_number":102,"context_line":"        repeat \u003d range(20)"},{"line_number":103,"context_line":"        for i in repeat:"},{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                return super(WebElementWrapper, self)._execute(command, params)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_a21c6713","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":25},"updated":"2019-02-09 22:47:06.000000000","message":"We don\u0027t want to have this kind of hard-coded value for slow environments. What is the reason of choosing 20. Generally speaking, 20 sounds rather large. Doesn\u0027t implicit_wait help you?\n\n If you really want to have such larger value, I prefer to using a new config value.","commit_id":"a2a64c10f37060945260986c21dd1c83e0e0489b"},{"author":{"_account_id":23625,"name":"Nicolas Helgeson","email":"nh202b@att.com","username":"nhelgeson"},"change_message_id":"1f7e39fe43049324553eadc60981591b7ff51478","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # exception, because driver.implicitly_wait delegates this to browser."},{"line_number":100,"context_line":"        # Just we need to catch StaleElement exception, reload chain of element"},{"line_number":101,"context_line":"        # parents and then to execute command again."},{"line_number":102,"context_line":"        repeat \u003d range(20)"},{"line_number":103,"context_line":"        for i in repeat:"},{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                return super(WebElementWrapper, self)._execute(command, params)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_f4977bea","line":102,"range":{"start_line":102,"start_character":23,"end_line":102,"end_character":25},"in_reply_to":"9fdfeff1_a21c6713","updated":"2019-02-11 18:50:57.000000000","message":"I feel like it is safe to set this value high because it gives time for a modal to get out of the way. In the event that everything is running smoothly, this high value doesn\u0027t change anything in terms of the overall speed of the test. It is only applicable if elements are stale or intercepted - in which case you have an issue anyway. I would agree with adding this value to the conf, but between getting the conf loaded and the fact that this value is so low impact, I don\u0027t think it is necessary.","commit_id":"a2a64c10f37060945260986c21dd1c83e0e0489b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b13e258a69b4c4291362e5457bf88b7a90839ca8","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                return super(WebElementWrapper, self)._execute(command, params)"},{"line_number":106,"context_line":"            except (exceptions.StaleElementReferenceException,"},{"line_number":107,"context_line":"                    exceptions.ElementClickInterceptedException):"},{"line_number":108,"context_line":"                if i \u003d\u003d repeat[-1]:"},{"line_number":109,"context_line":"                    raise"},{"line_number":110,"context_line":"                if not self._reload_element():"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_82212350","line":107,"range":{"start_line":107,"start_character":20,"end_line":107,"end_character":63},"updated":"2019-02-09 22:47:06.000000000","message":"Could you explain why this needs to be added?\nThe original purpose of this customized version is to handle a stale element. I cannot understand how ElementClickInterceptedException is related so far.","commit_id":"a2a64c10f37060945260986c21dd1c83e0e0489b"},{"author":{"_account_id":23625,"name":"Nicolas Helgeson","email":"nh202b@att.com","username":"nhelgeson"},"change_message_id":"1f7e39fe43049324553eadc60981591b7ff51478","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                return super(WebElementWrapper, self)._execute(command, params)"},{"line_number":106,"context_line":"            except (exceptions.StaleElementReferenceException,"},{"line_number":107,"context_line":"                    exceptions.ElementClickInterceptedException):"},{"line_number":108,"context_line":"                if i \u003d\u003d repeat[-1]:"},{"line_number":109,"context_line":"                    raise"},{"line_number":110,"context_line":"                if not self._reload_element():"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_74670b53","line":107,"range":{"start_line":107,"start_character":20,"end_line":107,"end_character":63},"in_reply_to":"9fdfeff1_82212350","updated":"2019-02-11 18:50:57.000000000","message":"When running against a remote server I found that sometimes a loading modal lasts longer than is accounted for by the \"wait for modal\" command. Other modals have also taken longer to be removed from the dom before another element is queried. This gives an opportunity for it to disappear.","commit_id":"a2a64c10f37060945260986c21dd1c83e0e0489b"}],"openstack_dashboard/test/integration_tests/config.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"0373ade863751fe8e7d8cd3fd29012d9dcc738dc","unresolved":false,"context_lines":[{"line_number":88,"context_line":"SeleniumGroup \u003d ["},{"line_number":89,"context_line":"    cfg.IntOpt(\u0027message_wait\u0027,"},{"line_number":90,"context_line":"               default\u003d1,"},{"line_number":91,"context_line":"               help\u003d\"Implicit wait timeout in seconds\"),"},{"line_number":92,"context_line":"    cfg.IntOpt(\u0027implicit_wait\u0027,"},{"line_number":93,"context_line":"               default\u003d10,"},{"line_number":94,"context_line":"               help\u003d\"Implicit wait timeout in seconds\"),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_6e867d68","line":91,"range":{"start_line":91,"start_character":20,"end_line":91,"end_character":53},"updated":"2019-02-08 10:17:22.000000000","message":"Please, change help message to more specific for this param","commit_id":"7ee814882a88867e90617cf0d7899412610d59ec"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b13e258a69b4c4291362e5457bf88b7a90839ca8","unresolved":false,"context_lines":[{"line_number":84,"context_line":"]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"SeleniumGroup \u003d ["},{"line_number":87,"context_line":"    cfg.IntOpt(\u0027message_wait\u0027,"},{"line_number":88,"context_line":"               default\u003d1,"},{"line_number":89,"context_line":"               help\u003d\"Time to wait for confirmation modal\"),"},{"line_number":90,"context_line":"    cfg.IntOpt(\u0027implicit_wait\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_a2454717","line":87,"range":{"start_line":87,"start_character":16,"end_line":87,"end_character":28},"updated":"2019-02-09 22:47:06.000000000","message":"How about including \"implicit\" because it is applied to implicit_wait?\n\n  message_impclit_wait\n\nor\n\n  implicit_wait_message","commit_id":"a2a64c10f37060945260986c21dd1c83e0e0489b"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"84093992d1688324955f3df0c54d052b3e7148ca","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"SeleniumGroup \u003d ["},{"line_number":87,"context_line":"    cfg.FloatOpt(\u0027message_implicit_wait\u0027,"},{"line_number":88,"context_line":"                 default\u003d1,"},{"line_number":89,"context_line":"                 help\u003d\"Time to wait for confirmation modal\"),"},{"line_number":90,"context_line":"    cfg.IntOpt(\u0027implicit_wait\u0027,"},{"line_number":91,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7faddb67_4e25f55b","line":88,"updated":"2019-08-08 06:24:10.000000000","message":"horizon.conf has 0.1 as the default value. Why don\u0027t you use 0.1 as the default value?","commit_id":"7b604d7cacc358bd033154c9ff0e7f6f1d870e3e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"49e893126fd03f323870884a58cf8ae0443d5bdb","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"SeleniumGroup \u003d ["},{"line_number":87,"context_line":"    cfg.FloatOpt(\u0027message_implicit_wait\u0027,"},{"line_number":88,"context_line":"                 default\u003d1,"},{"line_number":89,"context_line":"                 help\u003d\"Time to wait for confirmation modal\"),"},{"line_number":90,"context_line":"    cfg.IntOpt(\u0027implicit_wait\u0027,"},{"line_number":91,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7faddb67_def41b8a","line":88,"in_reply_to":"7faddb67_4e25f55b","updated":"2019-08-09 10:48:35.000000000","message":"Done","commit_id":"7b604d7cacc358bd033154c9ff0e7f6f1d870e3e"}],"openstack_dashboard/test/integration_tests/horizon.conf":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b13e258a69b4c4291362e5457bf88b7a90839ca8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"[selenium]"},{"line_number":13,"context_line":"# Timeout in seconds to wait for message pop ups"},{"line_number":14,"context_line":"# (integer value)"},{"line_number":15,"context_line":"message_wait\u003d1"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Timeout in seconds to wait for a page to become available"},{"line_number":18,"context_line":"# (integer value)"}],"source_content_type":"text/plain","patch_set":8,"id":"9fdfeff1_223ab797","line":15,"updated":"2019-02-09 22:47:06.000000000","message":"Please keep the original value 0.1. For slow environment, you can configure the setting to 1.","commit_id":"a2a64c10f37060945260986c21dd1c83e0e0489b"}],"openstack_dashboard/test/integration_tests/regions/messages.py":[{"author":{"_account_id":23625,"name":"Nicolas Helgeson","email":"nh202b@att.com","username":"nhelgeson"},"change_message_id":"5f5bbafe7a102db4dd29cf50a1eacc03caf3dbfa","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        self._default_src_locator \u003d self._msg_locator(level)"},{"line_number":31,"context_line":"        # NOTE(nhelgeson): Running selenium on remote servers"},{"line_number":32,"context_line":"        # requires extra time to wait for message to pop up."},{"line_number":33,"context_line":"        driver.implicitly_wait(3)"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            super(MessageRegion, self).__init__(driver, conf)"},{"line_number":36,"context_line":"        except NoSuchElementException:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_89191623","line":33,"range":{"start_line":33,"start_character":31,"end_line":33,"end_character":32},"updated":"2019-01-29 01:27:33.000000000","message":"This does slow down the tests marginally because it has to wait the full 3 seconds for the error message to pop up if an error occurs. This might be a value to add to the conf dependent on if the tests are being run locally or remotely.","commit_id":"040a41cc457471cd123102006c66dd44d1ba5366"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"b13e258a69b4c4291362e5457bf88b7a90839ca8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def __init__(self, driver, conf, level\u003dSUCCESS):"},{"line_number":30,"context_line":"        self._default_src_locator \u003d self._msg_locator(level)"},{"line_number":31,"context_line":"        # NOTE(tsufiev): we cannot use self._turn_off_implicit_wait() at this"},{"line_number":32,"context_line":"        # point, because the instance is not initialized by ancestor\u0027s __init__"},{"line_number":33,"context_line":"        driver.implicitly_wait(0.1)"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            super(MessageRegion, self).__init__(driver, conf)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_c2408b0a","side":"PARENT","line":32,"updated":"2019-02-09 22:47:06.000000000","message":"Why did you drop the original note? Is it no longer correct?","commit_id":"673bf049a0186dbd9f1653e04261442f5c7fa551"},{"author":{"_account_id":23625,"name":"Nicolas Helgeson","email":"nh202b@att.com","username":"nhelgeson"},"change_message_id":"1f7e39fe43049324553eadc60981591b7ff51478","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def __init__(self, driver, conf, level\u003dSUCCESS):"},{"line_number":30,"context_line":"        self._default_src_locator \u003d self._msg_locator(level)"},{"line_number":31,"context_line":"        # NOTE(tsufiev): we cannot use self._turn_off_implicit_wait() at this"},{"line_number":32,"context_line":"        # point, because the instance is not initialized by ancestor\u0027s __init__"},{"line_number":33,"context_line":"        driver.implicitly_wait(0.1)"},{"line_number":34,"context_line":"        try:"},{"line_number":35,"context_line":"            super(MessageRegion, self).__init__(driver, conf)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_374f4535","side":"PARENT","line":32,"in_reply_to":"9fdfeff1_c2408b0a","updated":"2019-02-11 18:50:57.000000000","message":"I removed the note because with this change we would no longer be interested in removing the implicit wait since it would be required to wait for the slower response time of remote servers.","commit_id":"673bf049a0186dbd9f1653e04261442f5c7fa551"}]}
