lib/scoutui/eyes/utils.rb in scoutui-2.0.5.2 vs lib/scoutui/eyes/utils.rb in scoutui-2.0.5.2.1.pre
- old
+ new
@@ -24,11 +24,19 @@
# Finally, join the parts with a period and return the result
return fn.join '.'
end
+ def get_session_id_from_batch(url)
+ /batches\/\d+\/(?<sessionId>\d+)/.match(url)[1]
+ end
+ def get_batch_id_from_batch(url)
+ /batches\/(?<batchId>\d+)/.match(url)[1]
+ end
+
+
def get_session_id(url)
/sessions\/\d+\/(?<sessionId>\d+)/.match(url)[1]
end
def get_batch_id(url)
@@ -54,26 +62,47 @@
end
end
def download_diffs(results, view_key, destination)
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " download_diffs(#{results}, #{destination})"
- session_id = get_session_id(results.url)
- batch_id = get_batch_id(results.url)
+
+ # Check if BATCH
+ if /\/batches\/\d+\/(?<batchId>\d+)/.match(results.url)
+ session_id = get_session_id_from_batch(results.url)
+ batch_id = get_batch_id_from_batch(results.url)
+ else
+ session_id = get_session_id(results.url)
+ batch_id = get_batch_id(results.url)
+ end
+
diff_urls = get_diff_urls(batch_id, session_id, view_key)
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " session_id : #{session_id}, batch_id : #{batch_id}"
download_images(diff_urls, destination)
end
def download_images(diff_urls, destination)
- diff_urls.each do |index, elem|
- save_name = sanitize_filename(elem[:tag]) + ".#{elem[:isMatching].to_s}.step_#{elem[:index]}_diff.png"
- File.open("#{destination}/#{save_name}", 'wb') do |file|
- file.write HTTParty.get(elem[:url])
+ rc=true
+
+ begin
+ diff_urls.each do |index, elem|
+ save_name = sanitize_filename(elem[:tag]) + ".#{elem[:isMatching].to_s}.step_#{elem[:index]}_diff.png"
+ File.open("#{destination}/#{save_name}", 'wb') do |file|
+ file.write HTTParty.get(elem[:url])
+ end
end
+
+
+ rescue => ex
+ Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " #{ex.class}: download_images."
+ Scoutui::Logger::LogMgr.instance.info ex.backtrace
+ rc=false
end
+
+ rc
+
end
def get_diff_urls(batch_id, session_id, view_key)
info = "https://eyes.applitools.com/api/sessions/batches/#{batch_id}/#{session_id}/?ApiKey=#{view_key}&format=json"
print "\r\n info:" + info + "\r\n"
@@ -100,6 +129,6 @@
end
end
-end
\ No newline at end of file
+end