Selenium IDE で動的な値
「今日の日付」のような動的な値が必要な場合には "javascript
コマンド | 対象 | 値 |
---|---|---|
type | val1 | abc |
type | val1 | javascript |
type | val1 | javascript |
コマンド | 対象 | 値 |
---|---|---|
type | date | javascript |
「今日の日付」のような動的な値が必要な場合には "javascript
コマンド | 対象 | 値 |
---|---|---|
type | val1 | abc |
type | val1 | javascript |
type | val1 | javascript |
コマンド | 対象 | 値 |
---|---|---|
type | date | javascript |
click ボタンやリンクをクリックする
clickAndWa it クリック後にページ遷移を待つ
コマンド | 対象 | 値 | |
---|---|---|---|
type | user | maiha | |
type | pass | xxxxx | |
click | login | ||
verifyText | ようこそmaihaさん | #ページ遷移が終わってないので失敗する |
click を clickAndWa
数字だけのタグだとうまくcoが出来なかった覚えがあるので、renameしました。あと、commitハッシュはフルでなくても、最初の5桁くらいで大丈夫だと思います。
1 % git rev-parse 1.1 2 97f4c33e9a35255b8f85 06ffa90ab7 0605ccf74f
先程入手したcommitハッシュを使って
1 git tag -a -f v1.1 97f4c33e9a35255b8f85 06ffa90ab7 0605ccf74f
完了と思ったら、つけ直しではなく同じcommitハッシュに別のタグをつけるようになっていまようです。なので、不要なタグを削除します
1 % git tag -d 1.1 2 Deleted tag '1.1'
pause(waitTime)
Arguments:
* waitTime - the amount of time to sleep (in millisecon ds)
Wait for the specified amount of time (in millisecon ds)
コマンド | 対象 | 値 |
---|---|---|
pause | 3000 |
コマンド | 対象 | 値 |
---|---|---|
click | link=詳細設定を開く | |
pause | 200 | |
type | search_num | 20 |
英語がちと不確実な僕はSkype Axes Developer Program Extrasを見て、SkypeAPI終了!?とか一瞬早とちりしてしまった。ここにも書いてあるけどThe future of Skype Extras - Skype Developer Zone Blog。SkypeAPIは続行。認証制度がとりあえずなくなるよと言うのが正しい。
これは不確実な英語ではなくSkypeの岩田さんに日本語で確かめたから確かだ(速攻チャット送るところ相当慌ててた自分が見て取れる orz) 岩田さん曰く「僕にとっては無償で API が使えるようになる、ってことだと思っているんですけどね。」との事。もともと無償ではあるけどより広く野に降り立つ?って事かなぁ。そして、いずれはより良いプログラムだすよーっとのことでした。
あぁ今SkypeAPI使った仕事をしようかと言うところだったのでちょっと安心した。さて安心したところでRuby4Skype
今日も野良デベロッパーは行くぜー
LogicoolのMX-Rを使っていたんだけど左クリックが押すと一発でダブルクリックが発生するようになってしまった。これは機械的な接点(スイッチ)が振動して酷いチャタリングを起こし始めたんだと思う。要するに壊れたんだ。
で、まぁ貧乏NEETとしては何とか安く問題を解決したいわけで(高いマウスだったしね)新しいマウスを買う前に何かと調べるわけです。分解してどうにかならないかーとかさ。
そしたらこんなものを見つけた マウスチャタリングキャンセラ。マウスの入力をいったん奪って、ダブルクリックが人間が押すよりも速い速度で入力されてる場合はシングルクリックとしてOSへ渡すソフトだと思う。
ダメもとで試したけど、これかなりイイ。壊れたハードだなんて微塵も感じられない。まったく正常な状態に戻ってしまった。もちろん遅延だって感じられない(ゲームとか厳しいかもしれないけど)
ソフトウェアでハードの故障を直してしまった!これはソフト屋の端くれとしてはちょっとした感動なんだな。
#下位の問題を上位層で無理やり修正するプログラムは組みたくないんだけどねw
Skype API関係で仕事したり逃げたりしてる某社社長から、、、
![]() |
朗報というか私にとっては不幸なお知らせが。私のMacBookが雨の直撃でやられてしまいました。それでしばらく乾かしてダメだったら新しいのを買おうと思ってるんですが,そうなったら壊れたヤツいりますか? |
そ、それはラッ、、、いや、御悔みを申し上げます。 つーかください。早くください。壊れててもください |
![]() |
それでやってきた来た訳なんですけど
電源入れたら普通に動いたw
っくぅ。あの社長、オレを嵌めたな! 動かないなんて口実でNEETに慈悲を与えたつもりか!!カッコつけやがってー |
![]() |
![]() |
そんな事ないですよ、動いて私もビックリです。むしろ何も努力しないで手に入れた事が悔しいくらいです。 |
、、、 | ![]() |
数時間後
TextMate入れれて、gemアップデートして、トラックパッドでジェスチャースゲー。 ん?なんかバッテリー認識してないな。バッテリ側のインジケーターは生きてるし まぁちょっと外してみっか |
![]() |
![]() |
あ、あれ?電源押しても、、、動かないぞ え?えぇっ!?マジ!? |
![]() |
![]() |
、、、 |
あんなにセットアップしたのに、、、 もういいや、ゲームでもしよー ホロホロホロホー・・ |
![]() |
更に数時間後、、、
![]() |
じゃ~ん♪ |
勝手に電源が! | ![]() |
![]() |
Macは滅びぬ、何度でも蘇るさ! |
なーんか振り回されっぱなしw。今は怖くて火入れっぱなしです。まぁともかく、ようやくRuby4Skype
前回の続き:
[iPhone] Map Kitで遊ぼう:地図を出して現在位置にピンを立てる
http://blog.s21g.com /articles/ 1596
参考:
Drawing polyines or routes on a MKMapView (as an MKAnnotati
onView) – Part 2
http://spitzkoff.com /craig/?p=108
MyAnnotati
1 #import <Foundation/Foundatio n.h> 2 #import <MapKit/Map Kit.h> 3 4 @interface MyAnnotati on : NSObject <MKAnnotati on> { 5 CLLocation Coordinate 2D _coordinat e; 6 } 7 8 @property (nonatomic, readonly) CLLocation Coordinate 2D coordinate ; 9 10 -(id)initWithCo ordinate:(CLLocation Coordinate 2D) coordinate ; 11 12 @end
MyAnnotati
1 #import "MyAnnotation.h" 2 3 @implementa tion MyAnnotati on 4 5 @synthesize coordinate =_coordinat e; 6 7 -(id)initWithCo ordinate:(CLLocation Coordinate 2D) c{ 8 _coordinat e=c; 9 return self; 10 } 11 12 @end
ポイントとしては
本当はMKAnnotati
MapTutoria
1 #import <UIKit/UIKit.h> 2 #import <MapKit/Map Kit.h> 3 4 @interface MapTutoria lViewContr oller : UIViewCont roller <MKMapViewD elegate> { 5 MKMapView *_mapView; 6 } 7 @end
MapTutoria
1 #pragma mark MKMapViewDelegate 2 - (MKAnnotati onView *)mapView:(MKMapView *)mapView viewForAnn otation:(id <MKAnnotati on>)annotation { 3 MKAnnotati onView *annotation View; 4 NSString* identifier = @"Pin"; 5 annotation View = (MKPinAnnot ationView*)[_mapView dequeueReu sableAnnot ationViewW ithIdentif ier:identifier ]; 6 if(nil == annotation View) { 7 annotation View = [[[MKPinAnnot ationView alloc] initWithAn notation:annotation reuseIdent ifier:identifier ] autoreleas e]; 8 } 9 if([annotation isKindOfCl ass:[MyAnnotati on class]]) { 10 annotation View.image = [UIImage imageNamed :@"some.png"]; //地図に表示したい画像を設定 11 } 12 return annotation View; 13 } 14 15 - (void)addSomeAnn otations { 16 //a location 17 double latitude = 37.3316889 99999997; 18 double longitude = -122.030731 ; 19 CLLocation Coordinate 2D _location; 20 _location. latitude = latitude; 21 _location. longitude = longitude; 22 23 CLLocation Coordinate 2D location1; 24 MyAnnotati on *annotation ; 25 26 location1. latitude = _location. latitude+0.1; 27 location1. longitude = _location. longitude+0.1; 28 annotation =[[MyAnnotati on alloc] initWithCo ordinate:location1]; 29 [_mapView addAnnotat ion:annotation ]; 30 31 location1. latitude = _location. latitude+0.5; 32 location1. longitude = _location. longitude+0.5; 33 annotation =[[MyAnnotati on alloc] initWithCo ordinate:location1]; 34 [_mapView addAnnotat ion:annotation ]; 35 } 36 37 - (void)viewDidLoa d { 38 [super viewDidLoa d]; 39 40 _mapView = [[MKMapView alloc] initWithFr ame:self.view.bounds]; 41 _mapView.showsUserL ocation=TRUE; 42 _mapView.delegate = self; 43 [self.view addSubview :_mapView]; 44 45 [self addSomeAnn otations]; 46 47 } 48
Snow LeopardでMySQLの64-bitバイナリのインストールまではメモなしでできてしまうけど、その後のmysql gemのインストールするためのおまじないはなかなか覚えられないからメモ書きする。
1 sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mys ql-config= /usr/local /mysql/bin /mysql_con fig
なぜARCHFLAGSが必要かというと、gem installする時に32-bitと64-bit両方に対応するgemをビルドしようとするけど、mysqlのバイナリは64-bitのみ(つまりUniversalじゃない)からARCHFLAGSでx86_64を明示的に指定しないとビルドが失敗する。mysql gemは例外的なケースらしいから、tmtmさんに早く直してほしいな。
GAEなどでファイル数の多いライブラリを使うために、gemのパッケージから不要そうなファイルを消してjarファイルにまとめるために作ったスクリプトです。
1 #!/usr/bin/env ruby 2 3 def run(command) 4 puts command 5 system command 6 end 7 8 case ARGV[0] 9 when 'install' 10 run "jgem install -i ./gems --no-ri --no-rdoc #{ARGV[1]}" 11 when 'uninstall' 12 run "jgem uninstall -i ./gems #{ARGV[1]}" 13 end 14 15 Dir['gems/gems/ *'].each do |dir| 16 %w( 17 Generaters TODO README.* README 18 spec/**/* test/**/* examples/**/* tasks/**/* 19 tutorial/**/* demo/**/* website/**/* 20 CHANGES CHANGES.tx t CHANGELOG 21 LICENSE MIT-LICENS E Rakefile CONTRIBUTO RS 22 Manifest.t xt History.tx t install.rb setup.rb 23 ).each do |pattern| 24 Dir[File.join(dir, pattern)].each do |path| 25 run "rm -rf #{path}" 26 end 27 end 28 end 29 30 Dir['gems/cache ', 'gems/bin', 'gems/doc'].each do |path| 31 run "rm -rf #{path}" 32 end 33 34 run "jar cf lib/merb.j ar -C ./gems ."