teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

修正です。

2016/11/08 07:41

投稿

yuki_90453
yuki_90453

スコア326

title CHANGED
File without changes
body CHANGED
@@ -19,5 +19,78 @@
19
19
  ###質問
20
20
  rescueの使用法が間違っているのでしょうか?
21
21
  また、もしタイムアウトをするまで動作を繰り返していた場合、タイムアウト時間を短くする方法または、繰り返させない方法を教えて頂けれないでしょうか
22
+ 宜しくお願い致します。
22
23
 
24
+
25
+ ###編集部分
26
+ ボトルネックになっている部分は条件分岐で使用しているelement_present?メソッドまたは、point_nextTDメソッドかと思います。
27
+ 計測結果、element_present?にてrealが平均20秒掛かっています。
28
+ このrealの待機時間を解消する方法はないでしょうか?
29
+
30
+ ###ベンチマークの実施結果
31
+ **該当のコード**
32
+ ```Ruby
23
- 宜しくお願い致します。
33
+ def point(i)
34
+ if element_present?(i, :xpath, ".//th[contains(text(),'ポイント利用(')]") == true
35
+ point_nextTD(i)
36
+ else
37
+ return " "
38
+ end
39
+ end
40
+
41
+ def element_present?(where, how, what)
42
+ Benchmark.bm 10 do |r|
43
+ r.report "条件分岐" do
44
+ begin
45
+ where.find_element(how => what)
46
+ true
47
+ rescue Selenium::WebDriver::Error::NoSuchElementError
48
+ false
49
+ end
50
+ end
51
+ end
52
+ end
53
+
54
+ def point_nextTD(i)
55
+ Benchmark.bm 10 do |r|
56
+ r.report "アクション" do
57
+ i.find_element(:xpath => ".//th[contains(text(),'ポイント利用(')]/following-sibling::td").text().gsub(/[円]/,"").gsub(/[,]/,"").to_i
58
+ end
59
+ end
60
+ end
61
+
62
+ ```
63
+
64
+ **ベンチマーク結果**
65
+ ```Ruby
66
+ user system total real
67
+ 条件分岐 0.040000 0.020000 0.060000 ( 26.678073)
68
+ user system total real
69
+ 条件分岐 0.050000 0.030000 0.080000 ( 25.499489)
70
+ user system total real
71
+ 条件分岐 0.010000 0.000000 0.010000 ( 0.017920)
72
+ user system total real
73
+ 条件分岐 0.050000 0.030000 0.080000 ( 24.706779)
74
+ user system total real
75
+ 条件分岐 0.000000 0.000000 0.000000 ( 0.011791)
76
+ user system total real
77
+ 条件分岐 0.000000 0.000000 0.000000 ( 0.012549)
78
+ user system total real
79
+ 条件分岐 0.050000 0.020000 0.070000 ( 25.037440)
80
+ user system total real
81
+ 条件分岐 0.050000 0.020000 0.070000 ( 26.076752)
82
+ user system total real
83
+ 条件分岐 0.000000 0.000000 0.000000 ( 0.018694)
84
+ user system total real
85
+ アクション 0.000000 0.000000 0.000000 ( 0.038412)
86
+ user system total real
87
+ アクション 0.010000 0.000000 0.010000 ( 0.028833)
88
+ user system total real
89
+ アクション 0.010000 0.000000 0.010000 ( 0.032794)
90
+ user system total real
91
+ アクション 0.000000 0.000000 0.000000 ( 0.026723)
92
+ user system total real
93
+ アクション 0.000000 0.000000 0.000000 ( 0.030527)
94
+
95
+
96
+ ```